Hi, I'm Aya Bouchiha, today, we'll cover sending POST and GET requests in react.js using axios.
Axios
axios: is a popular Javascript library used for making HTTP requests to an API.
Why axios instead of fetch?
I recommend reading this article by Faraz Kelhini :
Axios installation
cdn
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
Or:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
npm
npm i axios
yarn
yarn add axios
bower
bower install axios
GET request using axios
GET: is a request used for getting or retrieving data or information from a specified server.
Code using then and catch
import { useEffect } from 'react';
import axios from 'axios';
const App = () => {
useEffect(() => {
const getTodo = () => {
axios
.get('https://jsonplaceholder.typicode.com/todos/1')
.then((response) => {
console.log(response.status);
console.log(response.data);
})
.catch((e) => console.log('something went wrong :(', e));
};
getTodo();
}, []);
return <div>GET REQUEST</div>;
};
export default App;
Console
200
{userId: 1, id: 1, title: "delectus aut autem", completed: false}
Code using async and await
import { useEffect } from 'react';
import axios from 'axios';
const App = () => {
useEffect(() => {
const getTodo = async () => {
try {
const response = await axios.get(
'https://jsonplaceholder.typicode.com/todos/1',
);
console.log(response.status);
console.log(response.data);
} catch (e) {
console.log('something went wrong :( ', e);
}
};
getTodo();
}, []);
return <div>GET REQUEST</div>;
};
export default App;
Console
200
{userId: 1, id: 1, title: "delectus aut autem", completed: false}
POST request using axios
POST: is a request that is used for sending information or data to a specific server.
axios.post(url, data, config)
Code using then and catch
import { useEffect } from 'react';
import axios from 'axios';
const App = () => {
useEffect(() => {
const postTodo = () => {
const data = {
title: 'drink water',
body: 'I should drink water',
userId: 3,
};
const headers = { 'header-name': 'value' };
const config = { headers, };
axios
.post(
'https://jsonplaceholder.typicode.com/posts',
data,
config,
)
.then((response) => {
console.log(response.status);
console.log(response.data);
})
.catch((e) => console.log('something went wrong :(', e));
};
postTodo();
}, []);
return <div>POST REQUEST</div>;
};
export default App;
console
201
{title: "drink water", body: "I should drink water", userId: 3, id: 101}
Code using async and await
import { useEffect } from "react";
import axios from "axios";
const App = () => {
useEffect(() => {
const postTodo = async () => {
const data = {
title: "drink water",
body: "I should drink water",
userId: 3
};
const headers = { "header-name": "value" };
const config = { headers, };
try {
const response = await axios.post(
"https://jsonplaceholder.typicode.com/posts",
data,
config
);
console.log(response.status);
console.log(response.data);
} catch (e) {
console.log("something went wrong!",e);
}
};
postTodo();
}, []);
return <div>POST REQUEST</div>;
};
export default App;
console
201
{title: "drink water", body: "I should drink water", userId: 3, id: 101}
References and useful Resources
- https://rapidapi.com/blog/api-glossary/get/
- https://assertible.com/blog/7-http-methods-every-web-developer-should-know-and-how-to-test-them
- https://blog.logrocket.com/how-to-make-http-requests-like-a-pro-with-axios/
- https://gist.github.com/fgilio/230ccd514e9381fafa51608fcf137253
Suggested Posts
- Youtube Courses, Projects To Master Javascript
- Your Essential Guide To Map Built-in Object In Javascript
- All JS String Methods In One Post!
To Contact Me:
- email: developer.aya.b@gmail.com
- telegram: Aya Bouchiha
Happy codding!
Top comments (3)
You're using react in your examples so they won't work without it installed and configured. Is react really needed in a post that should talk specifically about
axios
?Why do you wrap
axios
code inside a function instead of using it directly?I used Axios in a VueJS project. It was very good choise for making GET And POST Request too.
Axios is so useful when it comes to sending requests to a server.