Axios is our recommended JavaScript HTTP client. While we are opposed to unnecessary outside dependencies, Axios has several advantages over fetch()
:
- Axios is isomorphic, fetch is not
- Axios throws an error when a request fails
- Automatic JSON and Form-Encoded Serialization and Parsing
- Interceptors and instances
Another reason is that Axios has neat helper methods that allow you to set the request method, like GET
or POST
. For example, below is how you can send an HTTP GET request with Axios.
const axios = require('axios');
const res = await axios.get('https://httpbin.org/get?answer=42');
res.data.args; // { answer: 42 }
Want to send a POST
request? That's easy, just change get()
for post()
and pass the request body as the 2nd parameter.
const res = await axios.post('https://httpbin.org/post', { hello: 'world' });
res.data.json; // { hello: 'world' }
Calling Axios as a Function
If you prefer the named parameters approach that fetch()
uses, you can also set the request method by setting the method
option as shown below.
let res = await axios({
method: 'GET',
url: 'https://httpbin.org/get?answer=42'
});
res.data.args; // { answer: 42 }
Top comments (0)