您的位置:首页 > Web前端 > JavaScript

JSON2的JSON.stringify在IE8上的BUG

2011-10-13 15:45 288 查看
原本需求是这样的:

有个AJAX的操作,需要传递表单数据,但是表单内容的name都是以answer[]命名,所以想把数据以为数组json化后传递 (用到了json2.js)

var answerStr = JSON.stringify(arr);


之前一直 跑得好好的,结果今天内务接到投诉电话,说试卷提交后答案全部乱码

如: “ u5c71u7f8a ”… 那边用google浏览器也是坏的,而我的google 又是好的,

后来到网上找了一下,原来出现错误是因为IE8内置有 JSON.parse()和JSON.stringify() 两个方法

而这和json2.js的方法重名

解决方法1:

var answerStr = JSON.stringify(arr);
var o = JSON.parse( answerStr);
eval("var answerStr = '"+JSON.stringify(o)+"';");    //这是中文的ASCII码,利用eval转换


解决办法2:把Json2.js里的JSON改下名称,改成JSON2,这样调用:JSON2.stringify();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: