axios添加了header头信息后发送的get请求自动变成option请求了,为什么???
axios添加了header信息后发送的get请求自动编程option请求了,为什么???
原来是
axios.get(`http://***/api/v1/public/homepage`, {params: params})
加上header后
axios.get(`http://***/api/v1/public/homepage`, {params: params,headers:{"sn":"201021622343"}})
但是请求从get变成了options
之前:
之后:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
options叫通讯员
通讯员跑到对方问可不可以派人来送信息了,回答不行,就中断!
回答可以,就排post兵前来送货!
不废话了:http://www.ruanyifeng.com/blo...
我记得sf前几天还推送过,你肯定没注意看
如果你是跨域请求,服务端返回响应时需要添加headers:
Access-Control-Allow-Origin: *
express:
这应当是跨域问题。浏览器自动在跨域的 GET 请求发送之前发送一个 OPTIONS 请求,以判断服务端是否允许这一域访问。可查看 axios 的 CORS 相关文档。
options 是去问是否支持 sn 这个 header,因此服务器端除了要跨域头之外还要允许的 header 头吧
以上是axios官网的原话
你可以用
URLSearchParams
来处理请求参数但是这玩意兼容性超级超级差。
或者用
qs
这个库来解决于是乎最终就用
qs
这个库了您好,我也遇到了这个问题,请问您是怎么解决的呢