Introduction
The HTTP POST request is used to send data to a specified destination.
The data we send is typically referred to as the payload.
We will need to make use of the optional options object so that we can change our method to POST so we can include our payload (data we’re sending) in the body.
Example
Let’s have a look at how we can do a POST request.
Below is an example of doing a POST request using fetch.
fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
body: JSON.stringify({
title: 'foo',
body: 'bar',
userId: 1,
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
})
.then((response) => response.json())
.then((json) => console.log(json));
// Logs:
// {
// id: 101,
// title: 'foo',
// body: 'bar',
// userId: 1
// }
Request object
Note how we are using a request object as the second parameter. We could instead create our own object and pass that in:
const requestOptions = {
method: 'POST',
body: JSON.stringify({
title: 'foo',
body: 'bar',
userId: 1,
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
};
fetch('https://jsonplaceholder.typicode.com/posts', requestOptions)
.then((response) => response.json())
.then((json) => console.log(json));
// Logs:
// {
// id: 101,
// title: 'foo',
// body: 'bar',
// userId: 1
// }