我有以下用于调用http.service.ts
API的Angular /login
。
login(user: User) {
console.log("logging in");
console.log(JSON.stringify(user));
this.http
.post<any>(this.loginURL, user, httpOptions)
.subscribe(
res => console.log('response : ' + res),
err => console.log('error : ' + err))
}
这是一个非常标准的POST
来电,但它始终会返回null
,我无法理解。
这是Network
Google Chrome的标签信息
Chrome的Console
信息
我无法理解回复为null
的原因。即使我没有有效负载,它至少应该使headers
可用吗?
答案 0 :(得分:8)
尝试以下方法:
this.http.post("url", body, {headers: headers, observe: "response"})
.subscribe(res => console.log(res));
您可以使用相同的http选项,但添加观察:response
。标头是来自http客户端的HttpHeaders。例如:headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
,
答案 1 :(得分:0)
尝试以下方法,
this.http.post(loginUrl,user,httpOptions).map( res =>res).subscribe(data => {
console.log(data);
});