如何以角度打印HttpRequest标头

时间:2018-11-13 09:24:06

标签: angular angular5

我对angular还是陌生的,所以这里是这种情况:有一个后端应用程序正在向Angular 5上的前端应用程序发送一些头信息,所以我需要在我的着陆页上获取这些头信息。 。 我正在使用拦截器,这里是代码

  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'));

请提出任何解决方案。 预先感谢。

2 个答案:

答案 0 :(得分:1)

您是否从服务器端公开了X令牌?使用“访问控制公开标头”。因为并非所有标头都允许从客户端访问,所以您需要从服务器端公开它们

同样在您的前端,您可以使用新的HTTP模块,使用{observe:'response'}之类的方式获得完整的响应

http
  .get<any>('url', {observe: 'response'})
  .subscribe(resp => {
    console.log(resp.headers.get('X-Token'));
  });

答案 1 :(得分:0)

您可以直接在interceptor

中阅读响应标题

尝试这样的事情

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next.handle(req).pipe(
      tap((event) => {
        if (event instanceof HttpResponse) {
          console.log(event.headers);
        }
      })
    );
  }

确保您从响应Access-Control-Expose-Headers的标题中公开了标题

希望这会有所帮助-编码愉快:)