2011-05-25 108 views
1

我試圖獲取json數據時一直有這個麻煩。getJSON返回錯誤'object is undefined'

可以說我有一個名爲「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文件,似乎是有效的,所以我不知道它會是什麼。

感謝你的幫助

+0

你可以嘗試在回調中alert(data.project.length)''看看會發生什麼? – 2011-05-25 05:54:40

+0

它確實工作,可能是什麼問題? – 2011-05-25 06:06:11

回答

6

你的數據似乎並不具有results財產。你的意思是project

+1

我不敢相信我是多麼愚蠢,你是對的!我想我對此非常沮喪,以至於它一直飛到我的頭上 – 2011-05-25 06:03:30

0

Ates是對的。除了使用

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

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

爲您的JSON有項目沒有結果。看來你已經複製了任何&忘記更改變量(這是很常見)的代碼:)

+0

這就是這種情況,我從jquery和json開始,並舉了一個例子,忘記了深入檢查。 – 2011-05-25 06:21:17