我这样设置来自NodeJS的Express服务器的标头:
app.use('/routes', function(req, res, next) {
res.setHeader('test', 'test');
next();
);
并且它们被发送到客户端,如下图所示: 然后,我尝试像这样在Angular一侧检索它们:
return next.handle(newreq).do((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
console.log(event);
}
}
});
但是,它不会显示在console.log(event)
我还尝试过使用event.headers.get('test')
来获得相同的结果
谢谢。
答案 0 :(得分:3)
作为CORS限制的一部分,Angular客户端只能访问Access-Control-Expose-Headers
中列出的标头。只需将新的test
标头添加到列表中即可。如果您使用的是CORS库,则应该有一种将标头列入白名单的方法。
请参阅MDN web docs中的示例。