最笨的方法把Json2.js里的JSON改下名称,改成JSON2,这样调用:JSON2.stringify();
?
IE8下json2.js 引发的问题
发表回复
原本需求是这样的:
有个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();