gpt4 book ai didi

javascript - 如何使用 jsonp 请求获取 json

转载 作者:行者123 更新时间:2023-12-01 03:09:41 25 4
gpt4 key购买 nike

我正在尝试使用 instagrams api,无需进行身份验证。如果我去:https://www.instagram.com/explore/tags/chicago/?__a=1

我收到一个 json 响应。我正在尝试构建一个返回该数据的 Angular 4 提供程序。

getInsta(term){
return this.jsonp.request(this.url+term+'/?__a=1&callback=__ng_jsonp__.__req0.finished')
.map(res => {
console.log(res.json());
});
}

我尝试过“callback”和“c”。我尝试过 JSONP_CALLBACK。

我得到的错误是:

"SyntaxError: Unexpected token ':'. Parse error. - In chicago:1"

"JSONP injected script did not invoke callback"

如果我单击意外 token 错误,它会将我带到包含所有 json 数据的响应。这意味着它已经通过了,我只是无法访问它!

知道如何解决这个问题吗?

这是错误的屏幕截图以及单击错误时的屏幕截图 enter image description here

enter image description here

最佳答案

JSONP 是一种跨源获取数据的方法,它之所以有效,是因为当文件的 src 包含 callback 时,它会向正文注入(inject) script 标记 函数名称。

<script src="http://ani.site.com/api/?callback=myGlobalFunc">

并且它假设窗口上有一个名为 myGlobalFunc 的全局函数。

该调用的响应将如下所示:myGlobalFunc({data: 'data1'})。使用一个参数(即数据)调用该函数。

在您的情况下,Instagram API 返回 JSON 而不是 JSONP

你不能使用该机制。

关于javascript - 如何使用 jsonp 请求获取 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45930546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com