axios请求失败,获取接口返回错误信息

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。axios请求失败,获取接口返回错误信息,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一般vue项目都会对axios进行封装,后台统一规范默认让服务器对所有请求都返回成功,然后在成功的对象里面包装一层对象result,里面也包含code,msg,result信息,前端拿这个result里面的code来做判断接口是否相应成功;类似如下:

const api = axios.create({
   baseURL:'',
   transformRequest;[data =>{qs.stringify(data)}]
})

api.interceptors.response.use(function (response) {
    return response;
  }, function (error) {
    let data = {}
    if(err.message.indexOf('timeout')>-1){
      data.message = '请求超时'  
      return { data }
    }
    。。。
    。。。
    return error;
  });    

 

平常用惯了项目封装的axios的请求和异常处理;突然一下子不用封装的,单独将axios引入用(比如多个文件和表单数据一起上传);一下没想出来,一查资料其实也简单,怕忘记,记录如下:

两种方式:

axios.interceptors.response.use(function (response) {
    return response;
  }, function (error) {
    console.log(error.response)  //服务器返回的错误信息,常见的400请求错了,这里能看到400请求返回的错误信息
    return Promise.reject(error);
  });
axios.get('/user/12345')
  .catch(function (error) {
    if (error.response) {
      // 请求已发出,但服务器响应的状态码不在 2xx 范围内
      console.log(error.response.data);
      console.log(error.response.status);
      console.log(error.response.headers);
    } else {
      console.log('Error', error.message);
    }
    console.log(error.config);
  });

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/159676.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!