关于vue封装的axios在请求错误时获取不到错误状态码的初步发现

我们在写vue项目的时候,项目有的时候需要自己再次封装一个网络请求,比如:

关于vue封装的axios在请求错误时获取不到错误状态码的初步发现_第1张图片

由于vue在开发的时候,默认的请求是localhost:8080,一般在请求后端的接口的时候,会有一个跨域的问题,跨域的解决就不写了,网上一大堆,比如在响应拦截的时候,如果请求错误,上面有些错误码,比如404,500之类的。但是在开发环境的情况下,存在跨域,如果请求错误,会存在获取不到错误状态码的情况,比如:

关于vue封装的axios在请求错误时获取不到错误状态码的初步发现_第2张图片

这个接口的地址是我特意写错的,根本没有这个接口,虽然上面有404的提示,但是获取不到这个状态码。

但是在vue项目打包上线之后,上传到请求接口同域名的服务器上时就能够获取到404这个状态码了,比如:

关于vue封装的axios在请求错误时获取不到错误状态码的初步发现_第3张图片

所以,如果你在写项目的时候,如果和后端一人一个服务器的话,请求api的域名是后端的,但是上传文件在你自己的域名下的服务器上,会存在获取不到错误状态码的情况。建议把文件上传到与请求接口同域名的服务器上,就能获取到请求错误的状态码。

至少目前在我的发现下是这样处理的,至于有没有其他处理方法还没有发现,如果有哪位大神发现了,可以交流一下。

你可能感兴趣的:(vue)