0

我想访问 Yelp API 1.0,例如这个 URL

http://api.yelp.com/business_review_search?term=burger&location=Los%20Angeles%2A%20CA&ywsid=SECRETKEY

这将在 JSON 字符串中为我提供一些洛杉矶的汉堡位置。

如何访问此 URL 以将响应转换为 JS 对象?

我知道如何创建 JS 对象,问题是从服务器获取响应。

这是我现在的代码:也许我们可以尝试从那里开始:

var url = "http://api.yelp.com/business_review_search?term=burger&location=Los%20Angeles%2A%20CA&ywsid=secretKey" ;


            $.getJSON(url, function(json) {
                alert("JSON Data: " + json.message.text);
            });
4

3 回答 3

2

您进入Same-Origin Policy的主题,它只是说您无法使用普通形式的 ajax从a.com访问b.com的 URL。

如果您使用 ajax,则应使用JSONPAccess-Control标头。否则,您应该使用您的服务器作为代理向该 URL 发送常规 HTTP GET 和 POST。

于 2011-11-21T19:42:47.797 回答
0

将“&callback=myFunction”添加到 url。使用此 url 作为源将脚本标记附加到您的文档。

var scriptElem = document.createElement('script');
scriptElem.src = url;
document.body.appendChild(scriptElem);

然后在您的页面中创建一个名为 myFunction 的函数,它的第一个参数将是返回的数据。

于 2011-11-21T19:45:13.503 回答
0

使用$.getJSON()

这是一个使用 yelp 的示例:

$.getJSON("http://api.yelp.com/business_review_search?term=burger&location=Los%20Angeles%2A%20CA&ywsid=SECRETKEY&jsoncallback=?", function(json) {
   console.log("JSON Data: " + json);
});
于 2011-11-21T19:46:43.700 回答