我在和闪电api斗争。确切地说,是公共饲料。
我的代码是这样的
public getFeed(): void {
const apiURL = 'https://api.flickr.com/services/feeds/photos_public.gne?tags=space&tagmode=all&format=json';
this.http.jsonp(apiURL, 'callback')
.pipe(tap(data => data)).subscribe(this.log);
}
public log(json) {
console.log(json);
}
当我运行表单组件的getFeed方法时,它在控制台中抛出了错误。
ReferenceError: jsonFlickrFeed is not defined
photos_public.gne:1:1
ERROR
Object { headers: {…}, status: 0, statusText: "JSONP Error", url: "https://api.flickr.com/services/feeds/photos_public.gne?tags=space&tagmode=all&format=json&callback=ng_jsonp_callback_0", ok: false, name: "HttpErrorResponse", message: "Http failure response for https://api.flickr.com/services/feeds/photos_public.gne?tags=space&tagmode=all&format=json&callback=ng_jsonp_callback_0: 0 JSONP Error", error: Error }
我到底做错了什么?为什么它说jsonFlickerFeed没有定义?
你的URL看起来是OK的,如果把它放到浏览器中,它返回一个带有数据的函数调用,就像你对JSONP的期望一样。
它似乎需要一个叫做'jsonFlickrFeed'的回调函数来调用。
也许你应该写一个短函数来显示一些数据。