Angular 如何以角度打印HttpRequest标题
我是angular的新手,所以情况是这样的:有一个后端应用程序正在向angular 5上的前端应用程序发送一些标题信息,所以我需要在我的登录页获取这些标题信息。 我正在使用截取器这里是代码Angular 如何以角度打印HttpRequest标题,angular,angular5,Angular,Angular5,我是angular的新手,所以情况是这样的:有一个后端应用程序正在向angular 5上的前端应用程序发送一些标题信息,所以我需要在我的登录页获取这些标题信息。 我正在使用截取器这里是代码 intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { console.log('Before sending data'); console
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log('Before sending data');
console.log('Request : ', req);
console.log('Headers are');
console.log('USER: ' + req.headers.get('USER'));
intercept(req:HttpRequest,next:HttpHandler):可观察{
console.log(“发送数据前”);
log('Request:',req);
log('Headers's');
log('USER:'+req.headers.get('USER'));
请提出解决方案。
提前感谢。您是否使用“访问控制公开标头”从服务器端公开了x-token?因为不允许从客户端访问所有标头,所以您需要从服务器端公开它们 同样在前端中,您可以使用新的HTTP模块,使用类似{observe:'response'}的方法获得完整响应
http
.get<any>('url', {observe: 'response'})
.subscribe(resp => {
console.log(resp.headers.get('X-Token'));
});
http
.get('url',{observe:'response'})
.订阅(resp=>{
log(分别是headers.get('X-Token');
});
您可以在拦截器中直接读取响应标题
试试这样的
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(req).pipe(
tap((event) => {
if (event instanceof HttpResponse) {
console.log(event.headers);
}
})
);
}
intercept(req:HttpRequest,next:HttpHandler):可观察{
返回next.handle(req.pipe)(
轻触((事件)=>{
if(HttpResponse的事件实例){
日志(event.headers);
}
})
);
}
确保您正在从响应中公开标题Access Control Expose headers
希望这有帮助-快乐编码:)