用express框架编写登录接口的时候设置的Authorization响应头来携带token返回给前端
我是在vue里面用的axios发送请求
发现浏览器控制台怎么也不打印不出Authorization字段
express代码是这样子的,已经设置了res.header("Authorization",token)
// 设置token
let token = JWT.generate(JSON.parse(JSON.stringify(data[0])), "1h");
res.header("Authorization", token);
res.send({ status: 200, message: "登录成功"});
之后使用了apipost接口测试工具去发送请求发现Authorization确实已经设置成功了,而且回到浏览器的network响应头里边也发现了 Authorization 字段
后面经过百度发现应该是跨域的问题浏览器无法显示所有的响应头,只显示默认的两个
解决办法:在express中加入一行代码去暴露该响应头
res.setHeader("Access-Control-Expose-Headers","Authorization")
// 设置token
let token = JWT.generate(JSON.parse(JSON.stringify(data[0])), "1h");
res.header("Authorization", token);
res.setHeader("Access-Control-Expose-Headers","Authorization")
res.send({ status: 200, message: "登录成功"});
此时发现浏览器控制台已经出现 Authorization 字段
成功 ✌!!!