Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript eval json数据在IE和firefox中的长度不同_Javascript_Json - Fatal编程技术网

Javascript eval json数据在IE和firefox中的长度不同

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]是调试器显示的一个单独

我通过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]
是调试器显示的一个单独节点,用于将函数与其他值分开。
它实际上不存在于对象中


如果一个数组有三个名为
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