Axios: axios応答から体を取得できません

作成日 2017年08月17日  ·  3コメント  ·  ソース: axios/axios

概要

ローカルから別のドメインにPOSTリクエストを送信しています。 (Corsの問題を回避するために開発モードでChromeを使用しています)

これは私のコードです:

axios('https://..../signup', {
    method: 'POST',
    data: {
    email: '[email protected]',
    password: 'fdsfds',
    confirmPassword: 'fdsfds'
  }

}).then(function(response) {
  console.log('response::', response.data);
})
  .catch(function(error) {
  console.log('ERROR::', error.data);
});

問題は、応答としてステータス400 (Bad Request)しか取得できないのに対し、curl cli / postmanを介して同じリクエストを送信すると、ステータスに加えて次のような本文が取得されることです。

[
    {
        "param": "email",
        "msg": "Email is not valid"
    },
    {
        "param": "password",
        "msg": "Password must be at least 4 characters long"
    },
    {
        "param": "confirmPassword",
        "msg": "Passwords do not match"
    }
]

しかし、axiosではありません。 これはCorsの問題にはなり得ません。これは、get / postクエリを正常に実行できるため、ステータスとともに返される本文を取得できないように見えるためです。

環境

  • axiosバージョン: "^ 0.16.2"、*
  • 環境:* node v6.9.4、chrome 54、windows 7

最も参考になるコメント

console.log('ERROR::', error.response.data);がその仕事をしたことを気にしないでください、これが明確に文書化されることを願っています。

全てのコメント3件

console.log('ERROR::', error.response.data);がその仕事をしたことを気にしないでください、これが明確に文書化されることを願っています。

@samayoこれに答えてくれてありがとう。 単純なXHRリクエストを使用すると、エラー応答を返すまでは問題なく機能しましたが、axiosを使用すると、なぜエラー時に応答を返すことができなかったのか疑問に思いました。 ドキュメントで見つけやすくする必要があることに同意しました。

res statusが200の場合、非同期待機構文を使用してPOSTリクエストを送信すると、応答本文が返されますが、応答ステータスが400の場合、応答本文は送信されません。 async await構文を使用してエラーを取得するにはどうすればよいですか?

このページは役に立ちましたか?
0 / 5 - 0 評価