【发布时间】:2021-06-17 10:06:50
【问题描述】:
我在响应中的 nodejs (express) 应用程序中设置自定义标头:
res.header('Vme','true')
next()
当我得到对客户端的响应时,我可以在浏览器中正确看到标题: browserHeaders
问题是我无法访问角度 hhtp 拦截器中的标头:
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
this.loaderService.show()
return next.handle(request)
.pipe(
map((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
const message = event?.body?.message
if (message?.length) {
this.toastService.show(event?.body?.message, SeveritiesEmun.Success)
}
}
return event
}),
catchError(error => {
let errorMessage = error?.error || 'Error'
if (typeof errorMessage === 'object') {
errorMessage = error?.statusText || 'Error'
}
this.toastService.show(errorMessage, SeveritiesEmun.Fail)
return throwError(errorMessage)
}),
finalize(() => {
this.loaderService.hide()
})
)
}
在错误(error)和成功实例((event: HttpEvent))中 “headers”属性不包含任何值。
【问题讨论】:
标签: javascript node.js angular express middleware