2017-05-08 75 views
3

所以我第一次使用jQuery。當我使用這個:正確抓取JSON數據

 var data = $.getJSON("https://hackernews.firebaseio.com/v0/item/14279870.json", function(data) { 
     data = JSON.stringify(data) 
     }); 
     console.log(data); 

我得到這個傢伙在日誌中:object viewenter image description here

但是,如果我嘗試登錄data.text,data.responseText,或類似的東西,我只是得到了一個未定義。我如何獲取數據?

回答

3

問題是console.logdata = JSON.stringify(data)之前執行,因爲$.getJSON調用是異步的。

這意味着您在控制檯中看到的內容不是您在成功回調中獲得的對象。

爲了讓您的數據對象的適當代表(服務器呼叫後),將控制檯日誌中的回調函數內:與樣本JSON文件

$.getJSON("https://hackernews.firebaseio.com/v0/item/14279870.json", function(data) { 
    console.log(data); 
    data = JSON.stringify(data) 
    console.log(data); 
    }); 

活生生的例子(您的網址回報空):

$.getJSON("http://echo.jsontest.com/key/value/one/two", function(data) { 
 
     console.log("JSON: ", data); 
 
     data = JSON.stringify(data) 
 
     console.log("Stringified: ", data); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

那d哦!謝謝一堆! –

+0

沒問題,很高興我能幫忙! – Shomz