[英]Angular httpClient get headers if an error occurred
我尝试了以下代码,但是headers属性未定义。 如果http响应状态不是2xx,还有另一种访问http标头的方法吗?
this._httpClient.get(url)
.subscribe(
(res: any) => {
//sth
},
error => {
this._logger.error(..., error.headers.get('Some-important-header'));
}
);
试试这个
this._httpClient.get(url).pipe(tap(event => {
if(event instanceof HttpResponse){
console.log(event.headers);
}
}), catchError(this.handleError));
处理错误
private handleError(error: HttpErrorResponse) {
if (error instanceof HttpErrorResponse) {
console.log(error.headers);
}
};
收到响应后,只需阅读它-希望对您有所帮助-编码愉快:)
响应主体不会返回您可能需要的所有数据。 有时,服务器会返回特殊的标头或状态代码,以指示对于应用程序工作流程很重要的某些条件。
通过观察选项告诉HttpClient您想要完整的响应:
this.httpClient.get(url, { observe: "response" }).subscribe(
(res: any) => {
//sth
},
error => {
this._logger.error(..., error.headers.get('Some-important-header'));
}
);
希望这个能对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.