2017-12-09 18 views
1

からエラーにMSGを受信するAxiosフロントエンドの約束を取得:JavaScriptで私は戻ってるのRailsではRailsのバックエンド

render json: { errors: e.response.body.errors }, status: 400 

を私はAxiosを使用しています:

axios.patch('/settings/account', {}, {params: {... 
    } }) 
    .then((e)=> { 
    ... 
    console.log('submitted') 
    }) 
    .catch(function (error, res) { 
    // only get error that gives 400, but not error msg here, res isn't here 
    console.log(error); 
    }); 

私は上e.response.body.errorsを取得するにはどうすればよいです私のフロントエンド?

答えて

1

サーバレスポンスのHTTPステータスコードが2xx以外の場合、Axiosは約束を拒否します。私はあなたがサーバーからのエラー応答を送信しているのを見ていますが、httpエラーステータスを通じてこの応答を送信していますか?あなたがいない場合、エラーはaxiosのエラーではないので、約束が解決されているので、 "then()"フックにエラーが表示されます。

あなたがいる場合は、あなたのサーバが2XX以外のものを返した場合error.response.data

+0

Axios whithinエラーが最初のエラーをキャッチするはずです。エラーに応答本文がある場合は、本文を 'error.response.data'に表示する必要があります。しかし、あなたのサーバーがこのエラーの本文を送信するのに何らかの問題を抱えているように、その軸心が他のエラーを捕まえる可能性があります。エラーが発生した場合は、error.messageまたはerror.requestまたはconsole.log(エラー)のエラーが発生しているかどうかを確認する必要があります。 –

関連する問題