Axios: Не удалось получить тело из ответа axios

Созданный на 17 авг. 2017  ·  3Комментарии  ·  Источник: axios/axios

Резюме

Я отправляю почтовый запрос на свой с моего локального на другой домен. (Я использую Chrome в режиме разработки, чтобы обойти проблему Cors)

Это мой код:

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"
    }
]

Но не с аксиомами. Это не может быть проблемой Cors, потому что я могу нормально выполнять запросы на получение/отправку, я просто не могу получить тело, которое возвращается со статусом.

Контекст

  • версия аксиомы: "^0.16.2",*
  • Среда: *узел v6.9.4, хром 54, окна 7

Самый полезный комментарий

Неважно, что console.log('ERROR::', error.response.data); сделал свою работу, я надеюсь, что это будет четко задокументировано.

Все 3 Комментарий

Неважно, что console.log('ERROR::', error.response.data); сделал свою работу, я надеюсь, что это будет четко задокументировано.

@samayo Спасибо за ответ. Это сводило меня с ума, используя простой запрос XHR, он отлично работал, пока возвращал ответы об ошибках, но при использовании axios мне было интересно, почему я не мог вернуть ответы при ошибке, на что вы ответили отлично. Согласен, это должно быть легче найти в документации.

Когда я отправляю почтовый запрос с использованием асинхронного синтаксиса ожидания, если статус res равен 200, он отправляет обратно тело ответа, но когда статус ответа равен 400, он не отправляет тело ответа. Как получить ошибку, используя синтаксис асинхронного ожидания?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги