我有数据,PHP返回给JS,但我不知道如何循环访问信息...我有这个:
result = call_data('get_chat.php');
console.log(result);
for(var data in result){
alert(result[data]["id"]); //says undefined
}
控制台日志显示:
[{"eventtime":"0000-00-00 00:00:00","message":"test2","bywho":"dave","id":"2"},
{"eventtime":"0000-00-00 00:00:00","message":"testttt","bywho":"dave","id":"1"}]
所以我想从它循环每个数据,但我怎么做我真的很困惑!它每次都说未定义。
答案 0 :(得分:4)
如果typeof result === "string"
,那么您仍需要解析响应,然后才能迭代它:
result = JSON.parse(call_data('get_chat.php'));
然后,正如其他人指出的那样,你应该使用一个简单的for
循环Array
:
for (var i = 0, l = result.length; i < l; i++) {
console.log(result[i]["id"]);
}
for..in
循环将迭代所有可枚举键而不仅仅是索引。
答案 1 :(得分:2)
看起来你的php代码返回一个对象数组,所以你需要先遍历数组,然后像这样访问id
键:
for (var i = 0; i < result.length; i++){
var obj = result[i];
console.log(obj.id); // this will be the id that you want
console.log(obj["id"]); // this will also be the id
}