uniapp H5 跨越请求获取获取头部token 获取响应头中的自定义属性

本文介绍了在开发过程中遇到的一个问题:后端通过响应头传递的自定义token在H5端无法正常获取。问题在于跨域请求时,W3C规范要求需要在响应头中添加Access-Control-Expose-Headers来暴露特定属性。解决方案是在后端响应头中添加Access-Control-Expose-Headers: token,从而使前端能在跨域请求后从res.header中获取token。
摘要由CSDN通过智能技术生成

在开发是选择了使用自己生成的 token 来代替 session,打算通过 响应头 的方式把 token 传递给前端进行保存。 

在开发过程时,发现后端传递过来的 header 中明明已经有自定义的 token 属性,但是通过打印请求返回的 res 中,发现 header 头中并没有我要的属性(H5端)。其他小程序端都可以正常获取。

通过阅读 uni.request 的文档时,发现根据 W3C 的规范,在跨越中,需要通过在响应头中添加 Access-Control-Expose-Headers 属性,来指定哪些属性可以暴露在外。

只需要在后端响应头中 添加 Access-Control-Expose-Headers:token 后在前端就可以在 res.header 中就可以正常获取到了。

 成功在 header 中打印出来

这个现象只会出现在跨域请求中

在不跨越中,会正常获取到全部响应头中的属性

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值