使用iTunes网址在位置2的JSON中出现意外的令牌J.

时间:2017-07-26 13:07:21

标签: angular getjson angular2-observables

我试图通过codecraft运行Observables的Angular教程(这里:https://codecraft.tv/courses/angular/http/http-with-observables/) 但是一旦我输入任何字符,我就会在Chrome浏览器上报告此错误。

ERROR SyntaxError: Unexpected token J in JSON at position 2
    at Object.parse (<anonymous>)
    at Response.webpackJsonp../node_modules/@angular/http/@angular/http.es5.js.Body.json (http.es5.js:797)
    at MapSubscriber.<anonymous> (itunes.service.ts:21)
    at MapSubscriber.webpackJsonp../node_modules/rxjs/operator/map.js.MapSubscriber._next (map.js:77)
    at MapSubscriber.webpackJsonp../node_modules/rxjs/Subscriber.js.Subscriber.next (Subscriber.js:89)

等等。看起来问题在于这段代码:

  let apiURL = `${this.apiRoot}?term=${term}&media=music&limit=20&callback=JSONP_CALLBACK`;
  return this.http.get(apiURL) 
      .map(res => {
        return res.json().results.map(item => { // This seems to be the problem line 21
          return new SearchItem( 
              item.trackName,
              item.artistName,
              item.trackViewUrl,
              item.artworkUrl30,
              item.artistId
          );
        });
      });

这是教程中的错误,或者在请求的URL处发生了变化,或者在Angular中有什么变化(我正在使用4.3.1)。我正在使用Angular IDE进行编辑,它在代码中没有显示任何错误。对此类问题的大多数其他响应都指向返回的对象不是json格式。我担心我对HTML传输的变幻莫测或json调试没有充分了解,以便找到更多信息。

0 个答案:

没有答案