同一个接口jquery的ajax请求不跨域而axios却跨域是什么原因
再请求同一接口时jquery就正常返回数据,而axios就不行
是因为axios会发opions预请求吗,原理是什么
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
再请求同一接口时jquery就正常返回数据,而axios就不行
是因为axios会发opions预请求吗,原理是什么
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
其实本质原理是简单请求和复杂请求的问题。
(来源于文章https://segmentfault.com/a/11...)
推测axios中是不是自定义了请求头,让浏览器认为它是复杂请求,会先发送一个options请求进行预检。这里可以和服务端沟通让他们支持下预检。
话说你是不是该把ajax和axios两种方式各自的代码发出来?
请问找到答案了么
对比了一下两者的报文,发现应该是请求中的头字段:Content-Type出现问题。
把jQuery的Content-Type设置成false,让浏览器自动添加这个字段就没有问题了。
当然后端响应时还必须有这两个响应头字段:
Access-Control-Allow-Methods
Access-Control-Allow-Origin
这两个关键字段,才能cors成功