我有一个用C#编写的工作API,返回类似这样的内容:
status: 200,
ok: true,
statusText: "OK",
url: "http://localhost:53619/api/EventList/All"
_body: "[
{
"id":"6eb057be-1c27-4d92-83cc-95216dc1b21b",
"user":{"id":"mail@mail.org",
"firstname":"name",
"lastname":"lastname",
"email":"mail@mail.com",
"avatar_url":"string"},
"project":
{ "id":0,
"name":"super project",
"description":"woop woop",
"created":"2016-09-15T10:09:17.425Z",
"autodesk_client_id":"123456",
"autodesk_client_secret":"123"},
"title":"Jan lagde et super prosjekt",
"content":"test",
"icon":"string",
"type":"string",
"properties":"string",
"datetime":"2016-09-15T12:16:56.6826078+02:00"}
]
这是C#API的默认响应。 HTTP状态代码,网址,消息等。然后有一个变量_body包含我实际需要的json数据。
然后在Angular 2中,我有以下内容来获取数据:
get(data: User): Promise<Event[]> {
let body = JSON.stringify(data);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this._http
.post(this.apiUrl + '/All', body, options)
.toPromise()
.then(res => {
console.log(res);
return res._body.json(); <--------- ERROR (_body not defined)
})
.catch(this.handleError);
}
这很有效,我得到了所有数据,并在控制台中打印出来。 但Angular拒绝接受Response包含变量_body并崩溃!
我该如何解决这个问题? 感谢
答案 0 :(得分:1)
你应该使用返回res.json()._ body;