2017-04-20 60 views
0

我试图从instagram获取照片获取请求, 我试过jQuery.get()这适用于其他目的获取请求,这不是instagram, 但这个它不工作。 我用邮递员,我得到的请求没有问题, 我也试图从jQuery.get()更改为jQuery.getJSON(),仍然没有运气。获取请求无法以某种方式

顺便说一下,试图用NodeJS使用request模块获得请求,它工作正常。

希望能对你有所帮助,这里是我的简单的代码:

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Title</title> 
 

 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> 
 
    <script> 
 

 
     $(function() { 
 

 
      $.get("https://www.instagram.com/uefachampionsleague/media/", 
 
       function (data) { 
 
        alert(items[0].id); 
 
       },"json"); 
 
     }); 
 

 
    </script> 
 
</head> 
 
<body> 
 

 
<p></p> 
 

 
</body> 
 
</html>

+1

检查开发人员工具控制台是否存在有关[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)错误的问题,因为'instagram'不允许您在浏览器 –

+0

你必须注册你的应用程序使用instagram数据,然后与你的后端和有效的令牌可以访问数据:\ –

+0

尝试设置dataType到jsonp – chris

回答

1

您需要注册您的应用程序,然后设置凭据在AJAX请求,或者您也可以使用crossorigenme代理:

$(function() { 
 
    $.get('https://crossorigin.me/https://www.instagram.com/uefachampionsleague/media/', function(data) { console.log(data); }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>

由于Jaromanda补充说:“值得一提的crossorigin.me的警告 - 请不要使用代理服务器在生产现场 - 如果你想‘绕过’CORS,使用自己的该死服务器做”。

+1

值得注意关于'crossorigin.me'的警告 - **请注意不在生产现场使用代理** - 如果你想“绕过”CORS,**使用你自己的该死的服务器来做它** –

+0

只要提及,他没有提及任何有关生产应用的信息,反正我会删除答案。 –

+0

不是。是个很好的答案。刚刚添加的警告 –