最近项目中,遇到axios请求总是发生provisional headers are shown问题,网上查找了好多解决办法,都是千篇一律,不外乎三种。然而并没有说出个所以然来

1.请求跨域被拦截
2.被扩展程序拦截
3.服务器未及时响应

后端也配置了corsconfig,后端研发检查了所有代码都没有问题,浏览器也安装任何扩展。


废话不多说,说解决办法,可能会有下面几种情况:

  1. 防火墙没有关闭,关闭之后,可以正常请求了。
  2. 没有权限,前端请求中没有正确的带上校验信息,比如cookie中的token,或者请求头中没有带上Authorization之类的验证信息
    检查浏览器控制台network看是否有带上验证信息,验证信息是否正确
  3. ajax每次发送get,post等请求之前,会自动发option请求,看是否是浏览器控制台的option请求报provisional headers are shown,如果是可能是服务器只设置了允许get,post等请求,解决方法是后台如果接收到option请求,就忽略校验,直接通过。