Angular httpClient get headers 如果发生错误
Angular httpClient get headers if an error occurred
我试过下面的代码,但是 headers 属性没有定义。如果 http 响应状态不是 2xx,还有其他访问 http header 的方法吗?
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);
}
};
收到回复后请阅读 - 希望这对您有所帮助 - 祝您编码愉快:)
响应 body 没有 return 您可能需要的所有数据。有时服务器 return 特殊 headers 或状态代码指示对应用程序工作流很重要的某些条件。
告诉 HttpClient 您想要带有观察选项的完整响应:
this.httpClient.get(url, { observe: "response" }).subscribe(
(res: any) => {
//sth
},
error => {
this._logger.error(..., error.headers.get('Some-important-header'));
}
);
希望对您有所帮助!
我试过下面的代码,但是 headers 属性没有定义。如果 http 响应状态不是 2xx,还有其他访问 http header 的方法吗?
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);
}
};
收到回复后请阅读 - 希望这对您有所帮助 - 祝您编码愉快:)
响应 body 没有 return 您可能需要的所有数据。有时服务器 return 特殊 headers 或状态代码指示对应用程序工作流很重要的某些条件。
告诉 HttpClient 您想要带有观察选项的完整响应:
this.httpClient.get(url, { observe: "response" }).subscribe(
(res: any) => {
//sth
},
error => {
this._logger.error(..., error.headers.get('Some-important-header'));
}
);
希望对您有所帮助!