這是JSON.stringify 兼容IE6、7、8所需js下載,看起來(lái)不是很清楚,總之表單中的數(shù)據(jù)都要提交到后臺(tái)進(jìn)行處理,然后插入到數(shù)據(jù)庫(kù),而且是一起提交到后臺(tái)的。如果該參數(shù)是一個(gè)函數(shù),則在序列化過(guò)程中,被序列化的值的每個(gè)屬性都會(huì)經(jīng)過(guò)該函數(shù)的轉(zhuǎn)換和處理;如果該參數(shù)是一個(gè)數(shù)組,則只有包含在這個(gè)數(shù)組中的屬性名才會(huì)被序列化到最終的JSON字符串中。
JSON.stringify 兼容IE6、7、8所需js是做前端我們經(jīng)常要用到JSON.stringify來(lái)將JSON轉(zhuǎn)成字符串,但悲劇的是IE6與IE7并不支持JSON.stringify。下面我們來(lái)簡(jiǎn)單講一下如何解決IE6 IE7 JSON.stringify JSON 未定義問(wèn)題。
首先我們需要引入一個(gè)json2.js的文件(請(qǐng)?jiān)诒疚南路较螺d),如果你不想引用一個(gè)文件這么麻煩?梢詫⒁韵聣嚎s好的代碼添加至你的JS文件中(注意代碼位置必須靠前)
1)通過(guò)表單提交,當(dāng)然在后臺(tái)需要為每個(gè)字段定義一個(gè)集合對(duì)象,然后在頁(yè)面中使用name標(biāo)志,如果使用了strut2的話就更簡(jiǎn)單了,在Action中定義的集合對(duì)象名稱和頁(yè)面標(biāo)簽的name字段標(biāo)簽一致,那么這些數(shù)據(jù)在后臺(tái)就都能夠取得到了,這里就不進(jìn)行闡述了;
2)封裝JSON對(duì)象,然后通過(guò)Ajax方法提交到后臺(tái),將每行記錄封裝為一個(gè)JSON對(duì)象,然后把這些JSON對(duì)象加入到一個(gè)數(shù)組當(dāng)中,
var userJson=<%= session.getAttribute("userJson")%>
var url=$("#gameDataUrl").val();
$.getJSON(url,userJson,function(data) {
var user1=eval(data);
alert(user1);
alert(window.JSON);
var user =JSON.stringify(user1);
alert(user);
$("#user").val(user);
$("#form").submit();
});
JSON.stringify();在IE下一直報(bào)JSON未定義,alert(window.JSON)一直是undefined;