前端使用axios时,设置了headers后,每次发送请求都会多一次OPTIONS请求

在vue项目中使用axios发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求:


百度查看原因,大概有这几种:

CORS跨域分为 简单跨域请求和复杂跨域请求

简单跨域请求是不会发送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

我的content-type就是application/json  由于之前接口对接是尝试过application/x-www-form-urlencoded后端不支持,在此我也不再去验证了,对于前端来说几乎没什么影响

如果不想每次查看接口的时候看到一堆重复的请求接口,在network中选择XHR,不要选择All,这样能过滤掉OPTIONS,只看到我们正常的请求


转载自:https://www.jianshu.com/p/297d3114011c

你可能感兴趣的:(前端使用axios时,设置了headers后,每次发送请求都会多一次OPTIONS请求)