我新建uniapp工程,没有运行在app,而是用浏览器运行。但我没有调用任何移动端的API,只是简单的用了uni.request请求后台的一个http接口。通过浏览器查看,我自定义的请求头Login-Token已经返回了。可是我在success回调函数中的header拿不到该响应头。打印res.header之后。我也惊呆了。请问如何获取到自定义的响应头?
- 发布:2020-06-27 13:14
- 更新:2022-10-14 17:15
- 阅读:4886
uni.request获取不到http响应头
在 uniapp 的 uni.request 文档中提到——根据 W3C 规范,H5 端无法获取 response header 中 Set-Cookie、Set-Cookie2 这2个字段,对于跨域请求,允许获取的 response header 字段只限于“simple response header”和“Access-Control-Expose-Headers”,如果需要获取自定义的响应头,只需要在后端接口的响应头上配置“Access-Control-Expose-Headers”即可。
啪!https://blog.csdn.net/zhuchunyan_aijia/article/details/87813581
-
Haiger412666 (作者)
回复 1***@qq.com: 只有一种可能,uni框架针对H5、小程序、app不同平台的返回结果进行了不同程度的转换或处理导致的差异。
2021-07-24 16:50
前端JASON - 接单uniapp项目&插件/联系front_jason/主页daxiong.site
前后端规定的交互方式有问题,一般登录接口调用成功之后,后端直接在data中返回token给你,然后前端进行本地存储。报文中的返回信息要根据后端定义的返回
-
Haiger412666 (作者)
交互方式本来就没有标准。没有说谁家好用,谁家的规范就一定要遵守。
而且这是一个,客户端调用服务端拿不到响应头的问题,和前后台交互逻辑没半毛钱关系。我拿响应头,不一定是为了拿自定义响应头,也不一定为了前后台交互。
现在的情况是uniapp这个框架,自行把大部分的header都给过滤掉了。明白?2021-07-20 00:37