响应头headers里有Authorization,前端却拿不到?

963 阅读1分钟

具体做法在下方我的做法里

🏠某知识点

jwt校验

1、后端发放JWT信息在响应头里的Authorization

res.setHeader('Authorization', `Bearer ${token}`);

2、前端拿到响应头里的jwt并把它放进内存

📶简介

有无背景

前端无法正常打印出返回数据中的Authorization信息


例如:

const res = await http.post('/user/veifycode', {code: formData.code}, { _autoLoading: true })

这里如果去打印 res.headers 的话,是可以正常看到信息:

image.png

这样我就可以将“令牌”存储在本地,身份信息就校验完成

❓为什么说这个?

情景复现

简述

1、上线后的前端代码去请求之后!
2、控制台-网络 可以正确看到响应头里有headers并且有authorization
image.png
3、但打印不出来,这是为什么?


也就是说,我再次拿到res.headers 是没有authorization的:
image.png

✅我的做法

大体逻辑

后端的问题

后端环境:node、Express框架

添加一行命令:

res.setHeader('Access-Control-Expose-Headers', 'Authorization');

有的后端可能是res.addHeader('Access-Control-Expose-Headers', 'Authorization');
有问题的可以具体查一下。这样做之后前端就能拿到了。

🎦结论

回顾描述与评价

所以,我想知道为什么本地环境下没问题,有没后端朋友简单解释一下^ ^

最后,有用点个赞吧? 👀