axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?

转载自:https://segmentfault.com/q/1010000016837027?utm_source=tag-newest

  • 现在vue项目中使用 axios 发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求:
axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?_第1张图片
Option请求
axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?_第2张图片
image.png

原因:

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-Typeapplication/json 格式

image.png

你可能感兴趣的:(axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?)