我在点击按钮后使用tr.apppend
jQuery函数将JSON数据附加到简单的HTML表时出现问题。我已经在Firebug中检查了控制台,并且我收到了正确的JSON数据,但在某个地方,它没有迭代嵌套数据并附加到HTML表格。
我的JSON数据格式:
{"response": {"system": {"database": "3"}, "songs": [{"artistid": "1", "song": "Umbrella"}, {"artistid": "1", "song": "We Found Love"}]}}
我尝试将[i]
添加到tr.append
数据数组的各个部分,但似乎都没有。 [i]是否处于正确的位置或嵌套的JSON数据是否需要不同的工作方法?
$.getJSON(APIurl + name + '&format=json&start=0&results=2', function(data) {
for (var i = 0; i < data.length; ++i) {
var tr = $('<tr/>');
tr.append("<td class='artist'>" + data.songs[i].artistid + "</td>");
tr.append("<td class='title'>" + data.songs[i].song + "</td>");
tr.append("<td>" + "<button class='send' type='submit'>Add to database</button>" + "</td>");
$('#table').append(tr);
}
});
答案 0 :(得分:1)
将for (var i = 0; i < data.length; ++i)
更改为for (var i = 0; i < data.songs.length; ++i)
当需要在songs属性/数组上调用时,在根对象上调用length属性。