捕获Angular中的http标头

问题描述 投票:1回答:2

我想捕获我在Angular应用程序的http标头中设置的令牌。

这就是我为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应用程序中捕获的令牌。我有点迷失在哪里以及如何去做?我正在使用Angular9。任何从哪里开始的提示?

angular
2个回答
0
投票

您可以从响应类中获取标题,如下所示:

http.get('/controller/action')
    .subscribe((response:Response) => {
       console.log(response.headers);
     });

0
投票

http clent返回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 reading the full response

© www.soinside.com 2019 - 2024. All rights reserved.