2017-05-08 73 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