我想用数据库中的元素填充列表。数据来自JSON格式的PHP文件。 JSON看起来像这样:
{"Venues" : [{"name":"McManus Galleries","id":"1"},{"name":"Dundee Law","id":"2"},{"name":"University of Abertay","id":"3"},{"name":"Baxter Park","id":"4"},{"name":"Overgate Shopping Centre","id":"5"}]}
现在我使用以下代码处理此文本:
obj = JSON.parse(this.responseText);
document.getElementById("list").innerHTML = "<a onclick='getVenue("+obj.Venues[0].id + ")'>" + obj.Venues[0].name + "</a><br>";
document.getElementById("list").innerHTML += "<a onclick='getVenue("+obj.Venues[1].id + ")'>" + obj.Venues[1].name + "</a><br>";
......它确实有效,但现在我想用for-loop
这样做,所以无论“场地”包含多少项,它都会在列表中显示它们。我现在得到了这个代码:
for(i = 0; i < obj.length; i++){
document.getElementById("list").innerHTML += obj.Venues[i].name;
}
这里的问题是,obj.length
返回1.有人知道如何解决这个问题吗?
答案 0 :(得分:2)
obj
是具有子Venues
的主要对象(这是一个用于迭代的数组,如下所示)
for(i = 0; i < obj.Venues.length; i++){
document.getElementById("list").innerHTML += obj.Venues[i].name;
}
&#13;