无法从get请求打印返回的JSON对象的属性

时间:2018-03-21 04:38:41

标签: javascript json

<script>

        var apikey = "someKey";
        var SEid = "0137454dfgsdfgsdfgzxv4435099:pnqp_fvtmsy";
        var query = "Flower";
        var returnedData;

        $.get("https://www.googleapis.com/customsearch/v1?key=" + apikey + "&cx=" + SEid + "&q=" + query, function(data){

        console.log(data);
        returnedData = data;
        });

        console.log(returnedData.items[1].formattedUrl);
        </script>

我一直收到错误Uncaught TypeError:无法读取属性&#39; items&#39;未定义的

但我无法弄清楚为什么返回的数据未定义。我之后之后我甚至都没有尝试引用它。我已经调用了get请求。

请不要将此问题标记为无效,我真的想弄清楚这一点并且在过去两天尝试了各种方法,但我无法弄明白。

2 个答案:

答案 0 :(得分:1)

$.get正在异步运行 - 一旦脚本到达该行,它只是发出请求,它不会在继续之前等待请求完成。< / p>

您无法返回异步生成的值。但是,您可以返回承诺,在解决后,使用所需的值进行解析。

答案 1 :(得分:0)

直接使用returnedData.toJSON().itemsreturnedData.get(items).get(0)