无法获取标题Angular 6

时间:2019-04-29 16:18:51

标签: javascript node.js angular express

我这样设置来自NodeJS的Express服务器的标头:

app.use('/routes', function(req, res, next) {
    res.setHeader('test', 'test');
    next();
);

并且它们被发送到客户端,如下图所示: Headers 然后,我尝试像这样在Angular一侧检索它们:

return next.handle(newreq).do((event: HttpEvent<any>) => {
    if (event instanceof HttpResponse) {
        console.log(event);
    }
}
});

但是,它不会显示在console.log(event)

的输出中

Headers output 我还尝试过使用event.headers.get('test')来获得相同的结果

谢谢。

1 个答案:

答案 0 :(得分:3)

作为CORS限制的一部分,Angular客户端只能访问Access-Control-Expose-Headers中列出的标头。只需将新的test标头添加到列表中即可。如果您使用的是CORS库,则应该有一种将标头列入白名单的方法。

请参阅MDN web docs中的示例。