How To Make An HTTP Request in Javascript, All Methods

Mark Caggiano
5 min readMay 9

In JavaScript, you can make HTTP requests using the XMLHttpRequest object or the newer fetch API. I'll provide examples for both approaches.

Using XMLHttpRequest

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
// Process the response here
console.log(response);
}
};
xhr.send();

The above example demonstrates a GET request to https://api.example.com/data. You can replace the URL with the desired API endpoint. The onreadystatechange function is called whenever the ready state of the request changes. When the ready state is 4 (request completed) and the status is 200 (successful), the response is processed.

Using fetch API (with Promises)

fetch("https://api.example.com/data")
.then(function(response) {
if (response.ok) {
return response.json();
}
throw new Error("Network response was not OK");
})
.then(function(data) {
// Process the response here
console.log(data);
})
.catch(function(error) {
console.error("Error:", error);
});

In this example, the fetch function is used to make a GET request. It returns a Promise that resolves to the response object. If the response is successful (status code 200-299), the data is extracted using the .json() method. Otherwise, an error is thrown. You can handle the response data in the second .then block and catch any errors in the .catch block.

These examples cover basic GET requests, but you can modify them to perform other types of requests (e.g., POST, PUT, DELETE) and include additional headers or data as needed.

Using Axios

There is another method for making HTTP requests in JavaScript called the axios library. Axios is a popular third-party library that provides a simple and elegant API for making HTTP requests. Here's an example of how to use it:

First, you need to include the Axios library in your project. You can do this by including the Axios script in your HTML file or by installing it through…

Mark Caggiano

Internet Marketer, Web Developer, Traveler

Recommended from Medium

Lists