我的功能正常,因为通过AJAX正确请求数据并在适当时显示,但是也会抛出以下错误:
TypeError: undefined is not an object (evaluating 'obj[i].title')
我的功能如下:
function populateNews(obj) {
var article = $('article p');
article.each(function(i) {
$(this).html('<p>'+obj[i].title+'</p>');
});
}
我未能理解如何解决错误。通过populateNews(obj)
从延迟的AJAX请求调用.done()
;我已经阅读了类似的帖子,暗示这可能是一个问题,但似乎没有答案符合我的特定情况。
答案 0 :(得分:1)
无需for
循环......错误只表示obj
的长度小于article
的长度
function populateNews(obj) {
var article = $('article p');
//no need to have the for loop
article.each(function (i) {
//if obj[i] is not there update it with empty content
$(this).html('<p>' + (obj[i] ? obj[i].title : '') + '</p>');
});
}