Axios: No se puede obtener el cuerpo de la respuesta de axios

Creado en 17 ago. 2017  ·  3Comentarios  ·  Fuente: axios/axios

Resumen

Estoy enviando una solicitud de publicación a mi desde mi local a otro dominio. (Estoy usando Chrome en modo desarrollador para evitar el problema de Cors)

Este es mi código:

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);
});

El problema es que solo obtengo el estado 400 (Bad Request) como respuesta, mientras que si enviara la misma solicitud a través de curl cli/postman obtendría el estado más un cuerpo como:

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

Pero no con axios. Esto no puede ser un problema de Cors, porque puedo hacer que las consultas de obtención/publicación estén bien, simplemente parece que no puedo obtener el cuerpo que se devuelve con el estado.

Contexto

  • versión de axios: "^0.16.2",*
  • Entorno: *node v6.9.4, Chrome 54, Windows 7

Comentario más útil

No importa console.log('ERROR::', error.response.data); hizo el trabajo, espero que esto se documente claramente.

Todos 3 comentarios

No importa console.log('ERROR::', error.response.data); hizo el trabajo, espero que esto se documente claramente.

@samayo Gracias por responder esto. Me estaba volviendo loco, usar la solicitud XHR simple funcionó bien en cuanto a obtener respuestas de error, pero cuando usaba axios, me preguntaba por qué no podía recuperar las respuestas por error, lo cual respondiste perfectamente. De acuerdo, debería ser más fácil encontrarlo en la documentación.

Cuando envío una solicitud de publicación usando la sintaxis de espera asincrónica si el estado de res es 200, devuelve el cuerpo de respuesta, pero cuando el estado de respuesta es 400, no envía el cuerpo de respuesta. ¿Cómo obtener un error al usar la sintaxis de espera asíncrona?

¿Fue útil esta página
0 / 5 - 0 calificaciones