我正在尝试输出“title”,“url”,“imageUrl”,但它只显示“undefined”或“[object Object]”,我必须解决这个问题
我的代码应该像这样输出:
<p>The Word</p>
<p>Art</p>
<p>Attaining</p>
这是我的JSON代码:
{
"ebookList":{
"ebook":[
{
"title":"The Word",
"url":"/products/",
"imageUrl":"/products/",
"_id":"1"
},
{
"title":"Art",
"url":"/products/",
"imageUrl":"/products/",
"_id":"2"
},
{
"title":"Attaining",
"url":"/products/",
"imageUrl":"/products/",
"_id":"3"
}
]
}
}
和我的javascript:
function loadBooks() {
$.getJSON('products/books.json', function (result) {
$.each(result, function (i, res) {
alert(res.title);
});
});
}
答案 0 :(得分:1)
提醒标题使用此循环。
for(i=0; i<result.ebookList.ebook.length; i++){
alert(result.ebookList.ebook[i].title);
}
答案 1 :(得分:1)
问题是你对整个表格的结果做each
。因此,您的res
变量将包含ebook
的每次迭代,此处您只有一个。 ebook
数组不包含任何title
属性(解释了您获得的undefined
),它只包含对象(该示例中有3个数组,用于解释执行时的输出{ {1}}),其中包含alert(res)
个属性。
为了做你想做的事,你必须做title
,它将遍历$.each(result.ebookList.ebook, function (i, res)
对象内的对象。