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

发布于 2022-09-11 14:49:12 字数 126 浏览 17 评论 0

现在vue项目中使用axios发送http请求,每次请求都会多一次Request Method: OPTIONS请求,然后才是get/post请求,请问这个是后台的问题还是我这边axios请求的问题?如果是前台可以解决,请问应该如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

瀟灑尐姊 2022-09-18 14:49:12

如果不想出现的话,可以考虑一下jsonp解决跨域,而且npm也有jsonp的模块

夏雨凉 2022-09-18 14:49:12

options请求会在跨域时出现,options成功后才会进行get post请求

涫野音 2022-09-18 14:49:12

跨域怎么处理的,是不是CORS,options是预检请求,没关系的,检查你的参数是否合规,可以了解一下这种跨域方式

謌踐踏愛綪 2022-09-18 14:49:12

这个是非简单请求之前的预检请求,请求后端接口支持的方法等信息,是正常的,不需要前端做处理,但是需要后端对所有接口统一处理放行OPTIONS方法(即返回200)即可。
关于简单请求和非简单请求可以百度了解之。

≈。彩虹 2022-09-18 14:49:12

为什么会发送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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文