javascript - eval json数据在IE和firefox中获得不同的长度

标签 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调试器发现data中的元素是这样的:

[Methods]
[0]
[1]
[2]

所以它的长度是4。

我想知道为什么?

最佳答案

我的猜测是服务器返回的数据带有尾随逗号,例如:

[1, 2, 3, ]

在 IE 中,该数组将被解释为长度为 4,而在兼容标准的浏览器中,其长度为 3。

关于javascript - eval json数据在IE和firefox中获得不同的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687891/

相关文章:

javascript - jQueryUI 按钮 : How to change Button-Icon 'color'

javascript - 复选框违反数据验证规则

javascript - window.event.srcElement 无法在 mozilla firefox 中工作

asp.net - 如何使 WebMethods 序列化 ExpandoObject

javascript - 如何阻止表单字段在 Bootstrap 表单中移动

javascript正则表达式忽略chokidar的子目录

php - 多个 MySQL 表到 json_encode

javascript - 我应该使用 JSON 编码、JavaScript 编码还是两者都使用?

javascript - 如何显示作为我的对象数组中的值的 div 并将其嵌入到 html 页面中

javascript - 请帮助测试 401 时 Firefox jQuery ajax 中的 CORS 问题