2017-07-10 13 views
1

エラーの説明を含むレスポンスボディを使用してバックエンドコードからステータスコード422を送信しています。私は、リクエストを投稿し、以下のようaxiosポストを使用しています:axiosポストを使用してエラーボディをキャッチする

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が必要です。だから私は適切にそれを処理するために斧のための文字列の代わりにオブジェクトを返す必要があります。

2

私はこの同じ問題を持っていた(Axios> = 0.13あたりなど)答えは、具体的error.response.dataをチェックすることです:

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

は詳細についてhereを参照してください。

関連する問題