同一个接口jquery的ajax请求不跨域而axios却跨域是什么原因

发布于 2022-09-11 21:43:07 字数 160 浏览 17 评论 0

再请求同一接口时jquery就正常返回数据,而axios就不行
是因为axios会发opions预请求吗,原理是什么

clipboard.png

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

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

发布评论

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

评论(4

划一舟意中人 2022-09-18 21:43:07

其实本质原理是简单请求和复杂请求的问题。image.png
(来源于文章https://segmentfault.com/a/11...
推测axios中是不是自定义了请求头,让浏览器认为它是复杂请求,会先发送一个options请求进行预检。这里可以和服务端沟通让他们支持下预检。

撩起发的微风 2022-09-18 21:43:07

话说你是不是该把ajax和axios两种方式各自的代码发出来?

零度℉ 2022-09-18 21:43:07

请问找到答案了么

尹雨沫 2022-09-18 21:43:07

对比了一下两者的报文,发现应该是请求中的头字段:Content-Type出现问题。
把jQuery的Content-Type设置成false,让浏览器自动添加这个字段就没有问题了。

当然后端响应时还必须有这两个响应头字段:
Access-Control-Allow-Methods
Access-Control-Allow-Origin
这两个关键字段,才能cors成功
image.png

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