尝试从opentable获取JSON并输出结果

时间:2018-11-07 17:17:16

标签: javascript html json

我正试图从这里(http://opentable.herokuapp.com/api/restaurants?city=chicago

)从某个城市(芝加哥)获得所有餐馆。

使用以下代码时,我只会得到空白页。

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

</head>

<body>
    <pre id="demo"></pre>

    <script>

    $.getJSON('http://opentable.herokuapp.com/api/restaurants?city=chicago', function(data) {
    });

    document.getElementById("demo").innerHTML = JSON.stringify(JSON.parse(data), null, 2);
</script>

</body>

</html>

1 个答案:

答案 0 :(得分:1)

您必须等待请求完成才能处理响应。为此,getJSON接受所谓的“回调函数”作为第二个参数。您只是提供了一个空的回调函数,但必须将与结果一起使用的代码部分放入实际的回调函数中,如下所示:

$.getJSON('http://opentable.herokuapp.com/api/restaurants?city=chicago', function(data) {
    document.getElementById("demo").innerHTML = JSON.stringify(data, null, 2);
});

Edit1:删除了JSON.parse调用,因为getJSON已经返回了一个对象。

Edit2:https://jsfiddle.net/cw2e9j5s/个有效示例