首先尝试使用 JSON。我有一个返回 JSON 对象的 ajax/php 函数。回到js端,我可以看到对象并将其输出到一个div。看起来不错。我可以将它打印到控制台,看起来仍然不错。但是当我尝试迭代它并公开各个值时,我只会在控制台中得到“未定义”。我无法弄清楚我错过了什么。对不起,如果是明显的东西,但我看不到。谢谢!
var jsonObj = JSON.parse(xmlhttp.responseText);
console.log(jsonObj); //<--looks perfect
console.log(jsonObj.length);
document.getElementById("rightsidebox").innerHTML=response; //<--looks good
for (var group in jsonObj) {
//each of these generates 'undefined' WHY???
//I get 4 'undefined' outputs for each group, so I know that my loop is iterating correctly
console.log(group.id);
console.log(group.day);
console.log(group.time);
console.log(group.name);
}
编辑:这是我的 ajax 调用返回的 JSON 对象之一的示例。在此示例中,我在数组中只有一个对象。当然,通常会有多个对象:
[{"id":"7","day":"Thursday","time":"7:00 am","name":"Sub 10:00"}]
编辑 2:给定这个数组,我不得不问 JSON 的意义是什么。我可以返回这个数组,而无需 PHP 以 JSON 格式对其进行编码。那么,如果返回的只是一个 javascript 数组,那么我完成了什么?为什么不跳过 PHP 中的 JSON 编码然后遍历数组呢?显然这是有原因的,所以我显然遗漏了一些东西。有没有更好的方法来做我想要完成的事情?谢谢!