我有一些JSON数据,我想用它来创建一个链接列表。 JSON对象中的键被渲染得很好,但是与这些键相对应的值会打印" undefined"在浏览器上。
var html = "<ul>";
$.ajax({
url: fullpath,
dataType: 'jsonp',
success: function(data) {
for (var pageid in data.query.pages) {
console.log(pageid, pageid.title, pageid.extract);
html += "<li><a href=\"" + wikisearchurl + pageid + "\" target=\"_blank\">" + pageid.title + '</br>' + pageid.extract + "</a></li>";
}
html += "</ul>";
$('#para').html(html);
}
});
点击链接会将我带到正确的页面,这意味着&#34; href&#34;属性设置得很好。问题仅在于链接文本。
答案 0 :(得分:0)
由于您正在使用&#34;(对于x中的x)和#34;类似的循环,因此您可以清楚地循环遍历数组而不是对象。因此&#34; pageid&#34;对应于数组中每个元素的索引。
要访问数组中的元素,请改为使用:
data.query.pages[pageid].title
和
data.query.pages[pageid].extract
这应该会为您提供您想要获得的信息。