2011-09-22 28 views
0

我試圖從生成以下對象的頁面獲取數據,該對象顯示爲正文和預標籤中的文本,但似乎並未獲取全部4個鍵值對(僅限於3)?製作.ajax調用時沒有獲取所有數據

請注意,我更改了jSON輸出的url,並刪除了大部分數據以縮短它在這裏。希望我沒有引入任何錯誤。

{"nodes":[{"node":{"title":"NLT bottle 14","bottle_code":"NL_T14","bottle_img":"http:\/\/site.dev\/files\/bottles\/bottleimages\/nlt%20bottle%2014_bottle.jpg","swatch":"http:\/\/site.dev\/files\/bottles\/swatches\/nlt-bottle-14_swatch.jpg"}},{"node":{"title":"DS Bottle 033","bottle_code":"DS_033","bottle_img":"http:\/\/site.dev\/files\/bottles\/bottleimages\/ds%20bottle%20033_bottle.jpg","swatch":"http:\/\/site.dev\/files\/bottles\/swatches\/ds-bottle-033_swatch.jpg"}}]} 

我試圖通過獲得它:

var url = "http://site.dev/getinfo"; 

    $.ajax({ 
    url: url, 
    type: "GET", 
    dataType: "json", 
    async: true, // false loads and processes the data (function) before rendering the page 
    success: function(stuff){ 
      console.log(stuff); // <- This output of the stuff object->nodes does not show the swatch key value pair! 
     process_data(stuff); 
    }, 
    complete: function(){ 
     doneprocess(); 
    }, 
    error: function(code){ 
     error_get_data(code); 
    } 
}); 

,但我得到這個沒有斯沃琪鍵|值對。我不知道爲什麼!

{"nodes":[{"node":{"title":"NLT bottle 14","bottle_code":"NL_T14","bottle_img":"http://site.dev/files/bottles/bottleimages/nlt%20bottle%2014_bottle.jpg"}},{"node":{"title":"DS Bottle 033","bottle_code":"DS_033","bottle_img":"http://site.dev/files/bottles/bottleimages/ds%20bottle%20033_bottle.jpg"}}]} 

非常感謝您的專業知識!

回答

0

既然你把我們無法說出的數據淹沒了,所以一個顯而易見的問題是:你確定JSON數據結構是有效的嗎?

使用Web Inspector或Firebug檢查瀏覽器是否獲取了您認爲服務器正在發送的相同數據。

+0

你在上面看到的是ajax調用顯示和接收的內容。我已經仔細檢查過,我只從數組中刪除了其他對象並更改了網站名稱。我已經檢查了Firebug和網絡檢查員,我明白了。出於某種原因,我可以改變鍵值對上的鍵名,改變數組中對象的順序,它會神祕地不會拿起色板鍵|值對。 –

+0

前幾天我有類似的問題。我盯着它幾個小時,直到我意識到我做了一個臨時代碼存根別的地方那將會重寫數據的數據結構,特別命名爲關鍵。我建議儘量讓示例儘可能小,看看它是否仍然存在;然後從那裏出發。 –