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