axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?
其实跨域分为 简单跨域请求和复杂跨域请求
简单跨域请求是不会发送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
这个是非简单请求之前的预检请求,请求后端接口支持的方法等信息,是正常的,不需要前端做处理,但是需要后端对所有接口统一处理放行OPTIONS方法(即返回200)即可。
关于简单请求和非简单请求可以百度了解之。
网友评论