2017-07-10 47 views
1

我從包含錯誤描述的響應主體的後端代碼發送狀態代碼422。我使用愛可信崗位如下張貼的請求:使用axios post捕獲錯誤主體

post: function(url, reqBody) { 
    const request = axios({ 
     baseURL: config.apiUrl, 
     url: url, 
     headers: { 
      'Content-Type': 'application/json', 
      'Authorization': sessionStorage.getItem('token') 
     }, 
     method: 'POST', 
     data: reqBody, 
     responseType: 'json' 
    }); 
    return request 
     .then((res) => { 
      return res; 
     }) 
     .catch((error) => { 
      console.log(error); 
      return error; 
     }) 
} 

問題是,當後臺返回錯誤代碼422,我趕上了錯誤的對象沒有關於響應主體的信息。有什麼辦法可以檢索錯誤文本嗎?

回答

0

我從後端返回一個字符串,但期待一個JSON作爲響應類型。所以我需要返回一個對象而不是axios的字符串來正確處理它。

2

我有同樣的問題和答案(按照愛可信> = 0.13)是專門檢查error.response.data

axios({ 
    ... 
}).then((response) => { 
    .... 
}).catch((error) => { 
    if(error.response){ 
     console.log(error.response.data); // => the response payload 
    } 
}); 

詳情請參閱here