gpt4 book ai didi

angular - JSONP 注入(inject)脚本没有调用回调

转载 作者:太空狗 更新时间:2023-10-29 17:37:19 25 4
gpt4 key购买 nike

我正在尝试从 Rest Api 获取数据:

我试过以下:

var headers: Headers= new Headers({  'dataType': 'jsonp'});
let options = new RequestOptions({ headers: headers });

return this.http.get('http://aaaddds.de/redmine/issues.json?limit=1200&callback=JSONP_CALLBACK', options)
.map(this.extractData);

它不起作用是因为:

 No 'Access-Control-Allow-Origin' header

所以当我尝试 JSONP 时

let params = new URLSearchParams();
params.set('callback', 'JSONP_CALLBACK');
params.set('project_id', '7');
params.set('key', '42d3db30ab061a9f630df1f476c4d127f98d5ad2');
params.set('limit', '1200');


return this.jsonp.get('http://aaaddds.de/redmine/issues.json', { search: params })
.map(this.extractData);

它说:

Uncaught ReferenceError: __ng_jsonp____req0finished is not defined JSONP injected script did not invoke callback

当我执行 Jquery ajax 时,它会起作用:

   $.ajax({

url: url,
type: 'GET',
dataType: 'jsonp',
success: function (datsa: any) {
console.log(datsa);
},
error: function (e : any) { alert(e.toString) },
});

最佳答案

我认为您为回调提供的参数不是回调。事实上,这个名称取决于目标服务,可以是callbackc 或其他...

要诊断您的问题,您应该查看浏览器中 devtools 的“网络”选项卡以查看响应的内容。它应该是这样的:

__ng_jsonp__.__req0.finished({ ... })

__ng_jsonp__.__req0 是 Angular2 内部处理的回调名称。

关于angular - JSONP 注入(inject)脚本没有调用回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38269270/

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