AJAX请求导致'undefined不是对象'错误

时间:2014-11-19 10:18:24

标签: javascript jquery ajax object undefined

我的功能正常,因为通过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();我已经阅读了类似的帖子,暗示这可能是一个问题,但似乎没有答案符合我的特定情况。

1 个答案:

答案 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>');
    });
}