Как напечатать заголовки HttpRequest в угловых - PullRequest
0 голосов
/ 13 ноября 2018

Я новичок в 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 голосов
/ 13 ноября 2018

Вы можете прочитать заголовки ваших ответов непосредственно в 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

Надеюсь, это поможет - Удачного кодирования:)

0 голосов
/ 13 ноября 2018

вы выставили x-токен со стороны сервера?используя "access-control-expose-headers".поскольку не все заголовки разрешены для доступа со стороны клиента, вам необходимо выставить их со стороны сервера

также в вашем интерфейсе, вы можете использовать новый модуль HTTP для получения полного ответа, используя {Наблюдение: 'ответ '} вроде

http
  .get<any>('url', {observe: 'response'})
  .subscribe(resp => {
    console.log(resp.headers.get('X-Token'));
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...