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