【问题标题】:getJSON returns error 'object is undefined'getJSON 返回错误“对象未定义”
【发布时间】:2011-05-25 05:48:59
【问题描述】:

我在尝试获取 json 数据时遇到了这个问题。

假设我有一个名为“projects.json”的文件,其结构如下(显示 2 个项目,原始文件超过 100 个)

{"project":[
        {
            "featid":1,
            "ced":12001,
            "x":659770.164751449,
            "y":990679.029463668

        },
        {
            "featid":2,         
            "ced":110002,
            "x":621482.834052153,
            "y":1034455.00718159
        }
]
}

当我尝试访问数据时,我收到以下错误

 object is undefined
 length = object.length, 

这是我用来获取数据的函数

 $(document).ready(function(){
 var url="json/projects.json";

    $.getJSON(url,{featid: 1},function(data){
        $.each(data.results,function(i,proy){

           $("#output").append('<p>'+proy.ced+'</p>');
        });

    });
});

我错过了什么?我检查了 json 文件,似乎是有效的,所以我不知道它是什么。

感谢您的帮助

【问题讨论】:

  • 你可以尝试在回调中alert(data.project.length) 看看会发生什么吗?
  • 它确实有效,可能是什么问题?

标签: jquery json getjson


【解决方案1】:

您的数据似乎没有results 属性。你是说project吗?

【讨论】:

  • 我不敢相信我是多么愚蠢,你是对的!我想我对此感到非常沮丧,以至于它一直在我的头上飞过
【解决方案2】:

阿茨是对的。而不是使用

$.each(data.results,function(i,proy)

使用$.each(data.project,function(i,proy)

因为您的 JSON 有项目而不是结果。看来您已经从任何示例中复制了代码并忘记更改变量(这很常见):)

【讨论】:

  • 确实是这样,我从jquery和json开始,举了个例子,忘记深入检查了。
猜你喜欢
  • 1970-01-01
  • 2010-11-29
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多