利用Flicker的公共饲料与JSONP获取和出错

问题描述 投票:0回答:1

我在和闪电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没有定义?

angular typescript jsonp
1个回答
0
投票

你的URL看起来是OK的,如果把它放到浏览器中,它返回一个带有数据的函数调用,就像你对JSONP的期望一样。

它似乎需要一个叫做'jsonFlickrFeed'的回调函数来调用。

也许你应该写一个短函数来显示一些数据。

© www.soinside.com 2019 - 2024. All rights reserved.