0

我只是在写一个小小的 Instagram 应用程序。事实上,当我尝试从 JS 中的这个 url 获得响应时:

https://api.instagram.com/v1/tags/search?q=money&client_id=f40dfb17ddd144598d562a6f58179006

但由于某种原因,我没有得到答案,也没有任何错误。如果我在浏览器中调用 url,我会得到 JSON 格式的答案。

这是我的小提琴

http://jsfiddle.net/XQ28k/

4

2 回答 2

2

由于您计划进行跨域请求,因此您应该通过添加&callback=?到 URL 的末尾来尝试 API 的 JSONP 变体

https://api.instagram.com/v1/tags/search?q=money&client_id=f40dfb17ddd144598d562a6f58179006&callback=?
于 2013-03-19T22:09:19.430 回答
0

您不能访问与当前域(进行 ajax 调用的地方)不同的域。它会给你跨域错误 Ajax 调用只能在同一个域上工作!

解决方法是在您的服务器中调用一个页面,该页面将对 Instagram 服务器进行远程调用,并对该页面进行 ajax 调用:php 示例 - 在您的服务器 page.php 中:

$url = 'https://api.instagram.com/v1/tags/search?q=money&client_id=f40dfb17ddd144598d562a6f58179006';
$content = file_get_contents($url);

echo($content); //no need to json_encode cause the response returning a json already!

并在您的客户端代码中调用 page.php (它在您的服务器中 - 所以它是同一个域):

 $.getJSON("page.php",function(json){
   alert(json.data);
  });
于 2013-03-19T22:12:19.943 回答