从http服务Angular 8获取状态文本



我有一个向服务器发送POST请求的服务:

addPerson(person:PersonDTO) :Observable<any> {
return this.httpClient.post<any>(this.urlBase + 'Persons', person);
}

我订阅了组件中的服务:

this.valueService.addPerson(person).subscribe((data) => {
this.responseCode = data.statusText;
console.log(this.responseCode)
});

我想在控制台上打印响应代码。问题是当出现错误时,代码会在到达console.log之前停止。如果没有错误,控制台上显示undefined

欢迎光临!

默认情况下,响应仅限于API的响应主体。要获得状态等其他信息,您需要在请求中添加observe选项:

addPerson(person:PersonDTO) :Observable<any> {
return this.httpClient.post<any>(this.urlBase + 'Persons', person, {observe: 'response'});
}

像您这样的基本订阅意味着您只处理next用例。为了处理错误,您需要另一个错误回调:

this.valueService.addPerson(person).subscribe(
(data) => {
this.responseCode = data.statusText;
console.log(this.responseCode)
},
(error) => console.error(error)
);

相关内容

  • 没有找到相关文章

最新更新