【发布时间】:2011-10-24 10:15:32
【问题描述】:
服务器将此 JSON 返回给客户端:
{
"comments": [
{
"id": 99,
"entryId": 19,
"author": "Вася",
"body": "Комент Васи",
"date": "20.10.2022"
},
{
"id": 100,
"entryId": 19,
"author": "n54",
"body": "w754",
"date": "21.10.2023"
}
],
"admin": false
}
我正在尝试展示它:
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var json = eval("("+xmlhttp.responseText+")");
for(var comment in json.comments){
alert(comment["author"]);
}
}
正如预期的那样,循环工作了 2 次,但此警报仅显示“未定义”。 但是如果我尝试执行 alert(json.admin);它将按计划显示为假。 我做错了什么?
【问题讨论】:
-
不要使用 eval。曾经。使用 JSON.parse。您可以使用 Crockford 的 json2 (github.com/douglascrockford/JSON-js/blob/master/json2.js) 来实现跨浏览器兼容性。
标签: javascript ajax json foreach cycle