Javascript eval json数据在IE和firefox中的长度不同
我通过ajax从服务器获取json数据:Javascript eval json数据在IE和firefox中的长度不同,javascript,json,Javascript,Json,我通过ajax从服务器获取json数据: request.responseText=[{name:xxx},{name:xxx},{name:xx}]. 然后我使用 var data=eval(request.responseText); alert(data.length); 在IE中是“4”,而在Firefox中是“3” 使用IE调试器,我发现数据中的元素如下所示: [Methods] [0] [1] [2] 所以它的长度是4 我想知道为什么?[Methods]是调试器显示的一个单独
request.responseText=[{name:xxx},{name:xxx},{name:xx}].
然后我使用
var data=eval(request.responseText);
alert(data.length);
在IE中是“4”,而在Firefox中是“3”
使用IE调试器,我发现数据中的元素如下所示:
[Methods]
[0]
[1]
[2]
所以它的长度是4
我想知道为什么?
[Methods]
是调试器显示的一个单独节点,用于将函数与其他值分开。它实际上不存在于对象中
如果一个数组有三个名为
0
、1
和2
的项,那么它的长度将3
我猜服务器返回的数据后面有一个逗号,例如:
[1, 2, 3, ]
在IE中,这个数组将被解释为长度为4,而在符合标准的浏览器中,它的长度为3。确切的字符串是什么?来自服务器的数据:[{name:“kk”,age:30,id:0},{name:“kddk”,age:20,id:1}{name:“kkdd”,age:330,id:3}]hguser:数据中有语法错误。但是,当我提醒它时,它的值是4