axios請求失敗,獲取接口返回錯誤信息


一般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);
  });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM