我正试图从这里(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>
答案 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/个有效示例