How can I get the status code from an http error in Axios?

Sebastian Olsen picture Sebastian Olsen · Aug 25, 2016 · Viewed 212.6k times · Source

This may seem stupid, but I'm trying to get the error data when a request fails in Axios.

axios.get('foo.com')
    .then((response) => {})
    .catch((error) => {
        console.log(error) //Logs a string: Error: Request failed with status code 404
    })

Instead of the string, is it possible to get an object with perhaps the status code and content? For example:

Object = {status: 404, reason: 'Not found', body: '404 Not found'}

Answer

Nick Uraltsev picture Nick Uraltsev · Aug 25, 2016

What you see is the string returned by the toString method of the error object. (error is not a string.)

If a response has been received from the server, the error object will contain the response property:

axios.get('/foo')
  .catch(function (error) {
    if (error.response) {
      console.log(error.response.data);
      console.log(error.response.status);
      console.log(error.response.headers);
    }
  });