axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?
现在vue项目中使用axios发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求,请问这个是后台的问题还是我这边axios请求的问题?如果是前台可以解决,请问应该如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果不想出现的话,可以考虑一下jsonp解决跨域,而且npm也有jsonp的模块
options请求会在跨域时出现,options成功后才会进行get post请求
跨域怎么处理的,是不是CORS,options是预检请求,没关系的,检查你的参数是否合规,可以了解一下这种跨域方式
这个是非简单请求之前的预检请求,请求后端接口支持的方法等信息,是正常的,不需要前端做处理,但是需要后端对所有接口统一处理放行OPTIONS方法(即返回200)即可。
关于简单请求和非简单请求可以百度了解之。
其实跨域分为
简单跨域请求
和复杂跨域请求
简单跨域请求是不会发送
options
请求的复杂跨域请求会发送一个预检请求
options
复杂跨域请求要满足以下:
1、请求方法不是
GET/HEAD/POST
2、
POST
请求的Content-Type
并非application/x-www-form-urlencoded, multipart/form-data, 或text/plain
3、请求设置了
自定义的header
字段如果不想发送
option
请求可以改为简单请求 比如你的Content-Type
可能是application/json
格式 将其改为application/x-www-form-urlencoded