javascript - AJAX请求导致 'undefined is not an object'错误

标签 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) 正在通过 .done() 从延迟的 AJAX 请求中调用;已阅读类似的帖子,暗示这可能是问题所在,但似乎没有答案适合我的特定情况。

最佳答案

不需要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>');
    });
}

关于javascript - AJAX请求导致 'undefined is not an object'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27014281/

相关文章:

Nodejs 上的 Javascript ES6 : TypeError: object is not a constructor

javascript - 基本 Angular 形式验证不起作用

javascript - 为什么我的本地文件中的相对路径被转换为绝对路径?

javascript - JQuery 转换问题

jquery - Activeadmin 停止我的 jQuery 工作

php - 在 PHP 中处理 json 请求

javascript - setInterval 不适用于回调函数

javascript - 在 jQuery 效果之前确定元素包装器的最终大小(例如 SlideDown)

javascript - ASP.net core MVC Framework 5 Formdata 附加图像时类型不正确

javascript - jQuery Ajax 加载许多相同的东西