Захват HTTP-заголовков в Angular - PullRequest
1 голос
/ 26 марта 2020

Я хотел бы захватить токен, который я установил в заголовке http внутри моего приложения Angular.

Вот как я обслуживаю свое приложение Angular:

var express = require('express');
var app = express();
var port = process.env.PORT || 3000;
var router = express.Router();
var utils = require('./utils);

console.log('——————————- Run on port '+ port);

/****************************** Router ***************************/
router.get('*', function(req, res){
    token = utils.generateToken(); 
    res.set('X-Auth', token).sendFile('index.html', { root: __dirname + '/public/app' });
});

Этот токен, который я устанавливаю в заголовке, - это то, что я хотел бы захватить в моем Angular приложении. Я отчасти заблудился, где и как это сделать? Я использую Angular 9. Любые советы, с чего начать?

Ответы [ 2 ]

1 голос
/ 26 марта 2020

данные http clent return JSON Если вы хотите прочитать все тело ответа, вам нужно установить опцию наблюдения на response Теперь результат будет иметь тип HttpResponse Теперь вы можете читать все заголовок ответа, тип, статус

http
  .get<any>('url', {observe: 'response'})
  .subscribe((res : HttpResponse) => {
    console.log(rep.headers.get('X-Token'));
    localStorage.setItem('token',res.headers.get('X-Token'))
  });

отметьте это ? http читая полный ответ

0 голосов
/ 26 марта 2020

Вы можете получить заголовки из класса ответа, как показано ниже:

http.get('/controller/action')
    .subscribe((response:Response) => {
       console.log(response.headers);
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...