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

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

clipboard.png

阅读 10k
4 个回答

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

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

新手上路,请多包涵

请问找到答案了么

新手上路,请多包涵

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

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

推荐问题
宣传栏