JSONP与Angular 4的回调问题

JSONP与Angular 4的回调问题

问题描述:

我想使用flickr Jsonp和Angular 4一起检索图像。JSONP与Angular 4的回调问题

它给了我下面的错误: -

VM637全球functions.helpers.ts transpiled! “JSONP注入脚本并没有调用回调”:12响应{_body ,状态:200, OK: 真,状态文本: “OK”,页眉:页眉...}

请在这里找到问题的plunker: -

https://plnkr.co/edit/oySgh2weZMOJddYA44Rp?p=preview

下面是接缝引起该问题的代码: -

this.jsonp.request(`https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=&callback=JSONP_CALLBACK`). 

     subscribe(images => { 


     }, 
     (error) => { 
     console.error(error); 
     } 

根据我自己的分析,这就是为什么它不工作: -

回调= JSONP_CALLBACK通常改变了回调函数被叫JSONP的名字使它一样,我给它的参数回调\

例如:

https://itunes.apple.com/search?term=ff&media=music&limit=20&callback=JSONP_CALLBACK

如果我提供类似网址

JSONP_CALLBACK({ .... })

https://itunes.apple.com/search?term=ff&media=music&limit=20&callback=sun

将返回 - :

将返回类似于JSON响应类似于以下的响应: -

sun({ .... })

等等。

当角看到类似的电话:https://itunes.apple.com/search?term=ff&media=music&limit=20&callback=JSONP_CALLBACK

它的呼叫转移到:

ng_jsonp .__ req0.finished( { ... })

和它等待这个回调函数来拦截响应。

然而,问题是公众闪烁API,网址是不是可以定制的: -

- :

当我送类似于网址:https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=&callback=JSONP_CALLBACK

的响应总是开头jsonFlickrFeed({...} {...} {...} })

这就是为什么它失败,因为回调方法名称不能改变。