Angular2 http返回空响应?

时间:2016-12-10 15:08:08

标签: http angular typescript angular2-http

我有一个后端API,如此POSTMAN屏幕截图所示。 enter image description here

这是我的服务:

getComments(line: string, department: string, startTime?: number, endTime?: number): Observable<Array<IComments>> {
    let headers = new Headers(
        {
            'Content-Type': 'application/x-www-form-urlencoded',
            'line': line,
            'cell': department,
            'start': new Date(),
            'end': ago(24, "hours")
        });
    let options = new RequestOptions({ headers: headers });
    return this.http.get('api/data/comments', options)
        .map(this.extractData)
        .catch(this.handleError);
}
private extractData(res: Response) {
    let body = res.json();
    return body.data || {};
}

这就是我的组件包含的内容:

  this.dataService.getComments('604', 'powders').forEach(result => {
      console.log('Res: ' + JSON.stringify(result));
      that.comments = result;
  });

但是,我进入控制台的所有内容都是:

  

Res:{}

为什么没有返回数据,就像邮递员一样?

更新

如果我在extractData中console.log(body),那么我得到:

  

对象{结果:&#34; COMMENTS604&#34;}

1 个答案:

答案 0 :(得分:1)

extractData中,您将返回body.data,但由于该属性的名称为result,我认为您的意思是return body.result