axios 在跨域请求时无法取消options请求哪怕设置了"Content-Type":'text/plain' 也无法取消
`
var instance = axios.create({
baseURL,
headers:{
"Content-Type":"text/plain"
}
});
`
axios 在跨域请求时无法取消options请求哪怕设置了"Content-Type":'text/plain' 也无法取消
`
var instance = axios.create({
baseURL,
headers:{
"Content-Type":"text/plain"
}
});
`
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
检查你请求的content-type,还有检查你是否使用了自定义的request header。
options请求是浏览器自动发起的。满足以下两个条件,浏览器才会使用OPTIONS预请求:
1.以 GET, HEAD 或者 POST 以外的方法发起请求。或者,使用 POST,但请求数据为 application/x-www-form-urlencoded, multipart/form-data 或者 text/plain 以外的数据类型。比如说,用 POST 发送数据类型为 application/xml 或者 text/xml 的 XML 数据的请求。
2.使用了自定义请求头(比如添加诸如 X-PINGOTHER)。
反过来说,你想取消OPTIONS请求,需要做到以下两点:
1.只使用 GET, HEAD 或者 POST 请求方法。(若用了POST,则数据类型(Content-Type)只能是 application/x-www-form-urlencoded, multipart/form-data 或 text/plain中的一种)
2.不要使用自定义的请求头。(比如X-PINGOTHER这种)。
参考https://www.jianshu.com/p/618...