这是JSON.stringify 兼(jiān)容IE6、7、8所(suǒ)需js下载,看起来不是很清楚(chǔ),总之表单中的数(shù)据(jù)都要提交到后台进行处理,然(rán)后插入(rù)到数据(jù)库,而且是一起提交(jiāo)到后台的(de)。如果该参数是一个函(hán)数,则在序列化过程(chéng)中,被序列化的值的每个属性都会经过(guò)该(gāi)函数的转换(huàn)和处理;如果(guǒ)该参数是一个数组,则只有(yǒu)包含在这个数组中的属性名才(cái)会(huì)被序列化(huà)到最终的JSON字符串中。
JSON.stringify 兼(jiān)容IE6、7、8所需js是做前端我(wǒ)们(men)经常要用(yòng)到JSON.stringify来将(jiāng)JSON转成字(zì)符(fú)串,但悲剧的(de)是IE6与IE7并不支(zhī)持JSON.stringify。下面我们来简(jiǎn)单讲(jiǎng)一下如何解决IE6 IE7 JSON.stringify JSON 未定义问题(tí)。
首先我(wǒ)们需(xū)要引入一(yī)个json2.js的文件(请在本文下方下载(zǎi)),如(rú)果你(nǐ)不想引用一个文件这么麻烦。可以将以(yǐ)下(xià)压缩好(hǎo)的代(dài)码(mǎ)添加至你的JS文件(jiàn)中(zhōng)(注意代码位置必(bì)须靠(kào)前)
1)通过(guò)表单提交,当然在(zài)后(hòu)台需要为每个字段定义一个集合对象,然后在页面(miàn)中使用name标志,如果使(shǐ)用了strut2的话就更简单了,在Action中(zhōng)定义的集(jí)合对(duì)象名称和页(yè)面标签的name字段标签一致,那么这些数据在后台就都能够取得到了,这里(lǐ)就不(bú)进行阐(chǎn)述(shù)了;
2)封装JSON对象,然后通过Ajax方(fāng)法提交到(dào)后台,将每行记录封装为一个JSON对象,然后把这些JSON对(duì)象加(jiā)入(rù)到一(yī)个数组当中(zhōng),
var userJson=<%= session.getAttribute("userJson")%>
var url=$("#gameDataUrl").val();
$.getJSON(url,userJson,function(data) {
var user1=evals(data);
alert(user1);
alert(window.JSON);
var user =JSON.stringify(user1);
alert(user);
$("#user").val(user);
$("#form").submit();
});
JSON.stringify();在IE下一直报JSON未定义(yì),alert(window.JSON)一直是(shì)undefined;
