现在vue项目中使用axios发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求,请问这个是后台的问题还是我这边axios请求的问题?如果是前台可以解决,请问应该如何解决?
现在vue项目中使用axios发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求,请问这个是后台的问题还是我这边axios请求的问题?如果是前台可以解决,请问应该如何解决?
这个是非简单请求之前的预检请求,请求后端接口支持的方法等信息,是正常的,不需要前端做处理,但是需要后端对所有接口统一处理放行OPTIONS方法(即返回200)即可。
关于简单请求和非简单请求可以百度了解之。
2 回答12.6k 阅读✓ 已解决
5 回答7.1k 阅读✓ 已解决
5 回答8.2k 阅读
2 回答10.3k 阅读✓ 已解决
2 回答10.4k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
4 回答6.1k 阅读
其实跨域分为
简单跨域请求
和复杂跨域请求
简单跨域请求是不会发送
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