javascript - $.each 返回 'undefined is not an object'

标签 javascript jquery arrays json loops

我遇到以下问题。

我设置了这个 JSON feed:https://api.myjson.com/bins/1ukdk

我正在尝试迭代源代码以最终输出到 html。

$.getJSON('https://api.myjson.com/bins/1ukdk', function (tabledata) {
        var items = []; 
        console.log(tabledata);
        //To get category name
        var categoryName = tabledata.Categorie;    
        var title, advertisement, day;
        $.each(tabledata.titles, function () {
                title = this;
                //to get title name and value
                var titleName = title.Naam,
                        titleValue = title.Waarde;
                $.each(title.advertisements, function(){
                        advertisement = this;
                        //to get advertisement name
                        var advertisementName = advertisement.Naam;                
                        $.each(advertisement.days, function(){
                                day = this;
                                //to get date
                                var advertisementDay = day.Datum;     
                        });
                });        
        });
        //$(items.join('')).appendTo('table');
});

当我将(tabledata)输出到控制台时,我得到这个对象,其中充满了数组中的对象(我猜这没问题)。

但是,我在 $.each 函数上收到此错误:

TypeError: undefined is not an object (evaluating 'e.length')

我似乎无法解决这个问题。看来我无法直接寻址表 data.titles 。有什么帮助/建议吗?

谢谢!

最佳答案

您的 Feed 返回一个对象数组。您可以通过直接访问第一个数组项来循环浏览标题。

$.each(tabledata[0].titles, function () {

关于javascript - $.each 返回 'undefined is not an object',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30435627/

相关文章:

c - 访问在指向 strtok 的字符数组的指针中传递的变量时获取不正确的值

javascript - EJS语法错误: unexpected token ; while compiling ejs

javascript - 如何在 javascript 中以正确的方式编写此代码

jquery - 在 Bootstrap 的模态窗口中使用嵌套列

javascript - 如何在对象中使用 .includes() 或类似方法?

python - Pygame - 使用 SurfArray 将某种颜色的像素重新着色为另一种颜色(数组切片问题)

javascript - 如何在javascript中为下拉列表编写回发事件

javascript - 延迟加载脚本

javascript - 如何将自定义脚本添加到 React 应用程序组件中?

javascript - foreach 只产生一个结果