跨域问题是一个老生常谈的问题了,怎么叫跨域,如何解决跨域,本篇不再赘言,因为本篇重点解决另一个问题:已经解决了跨域,而且有些接口已经正常请求,但为什么还有一些请求就是报错?
观察这些请求,会发现它们有一个共同点:它们首先自动发起一次options请求,当options请求成功返回后,真正的ajax请求才会再次发起。
options请求发生的条件:
1 接口请求是跨域的
2 Content-Type是除application/x-www-form-urlencoded,multipart/form-data,text/plain之外的格式
3 重新设置了请求头
当满足12,13时,都会产生options请求
options请求引起报错的解决办法:
如果是12这种情况,就修改Content-Type为application/x-www-form-urlencoded,multipart/form-data,text/plain之一。
如果是13这种情况,就让后台在认证内判断options请求,具体参见:ajax+自定义headers的跨域请求
跨域之浏览器预检
最新推荐文章于 2024-08-14 08:00:00 发布