Axios Response `data` Property
When making a standard axios request, the response contains six properties including data
, the one we will be discussing.
data
is simply the response that was provided by the server. data
will usually be either a string, object, or undefined depending on what information you requested from the server.
In the example below, res.data
is an object as it contains a series of key value pairs.
const res = await axios.get('https://httpbin.org/get')
res.data; // Returns the HTTP response body at the server we requested.
typeof res.data; // object
res.data
returns the following:
{
args: {},
headers: {
Accept: 'application/json, text/plain, _/_',
Host: 'httpbin.org',
'User-Agent': 'axios/0.19.2',
'X-Amzn-Trace-Id': 'Root=1-6011aa12-6d7a1ae8689dd32256ab1be7'
},
origin: '99.138.93.108',
url: 'https://httpbin.org/get'
}
If you wanted the data to be of a different type, you could use axios's responseType
property in conjunction with the transformResponse
property.
The options for responseType
are:
- arraybuffer
- document
- json (default)
- text
- stream
- blob (browser only)
Here is an example that is making the same exact request that returned an object but now will return a string.
const res = await axios.get('https://httpbin.org/get', {
responseType: 'text',
transformResponse: [v => v]
});
res.data; // same data obtained from previous request
typeof res.data; // string
Note: This is just an example and responses from different servers will vary. In this example, the unfiltered response, res, contains much more information about the request and response. This information could be helpful if the project your working on needs something from it or you are debugging, however, most of the time directly accessing the data is all that will be needed.