我正在尝试使用instagrams api,而无需进行身份验证。 如果我去:https://www.instagram.com/explore/tags/chicago/?__a=1
我收到了json的回复。 我正在尝试构建一个返回该数据的角度4提供程序。
getInsta(term){
return this.jsonp.request(this.url+term+'/?__a=1&callback=__ng_jsonp__.__req0.finished')
.map(res => {
console.log(res.json());
});
}
我尝试过“回调”和“c”。我尝试过JSONP_CALLBACK。
我收到错误:
“SyntaxError:Unexpected token':'。Parse error。 - in chicago:1”
和
“注入JSONP的脚本没有调用回调”
如果我点击意外令牌错误,它会将我带到响应中,其中包含所有json数据。所以这意味着它正在通过,我无法访问它!
知道如何解决这个问题吗?
答案 0 :(得分:2)
JSONP是一种获取数据跨源的方法,它的工作原理是,当文件的script
包含src
函数名时,它会向主体注入callback
标记。
<script src="http://ani.site.com/api/?callback=myGlobalFunc">
它假设窗口上有一个名为myGlobalFunc
的全局函数。
该电话的响应如下:myGlobalFunc({data: 'data1'})
。
使用一个参数(即数据)调用函数。
在您的情况下,Instagram API返回 JSON 而不是JSONP
。
因为你无法使用这种机制。