Different Ways to Make HTTP Requests in JavaScript

When it comes to web development, making HTTP requests is a fundamental aspect of building interactive and dynamic applications. JavaScript provides several techniques and libraries that simplify the process of sending HTTP requests and receiving responses. Today, I will show different approaches to making HTTP requests in JavaScript, highlighting their unique features and use cases.

1. XMLHttpRequest Object

The XMLHttpRequest (XHR) object is a built-in feature of JavaScript that enables asynchronous communication with a server. It has been the traditional method for making HTTP requests in JavaScript. XHR offers flexibility and control over the request, allowing you to handle events, set headers, and handle different response types. However, it requires more manual handling and can be verbose in code.


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);

2. Fetch API

Introduced in modern browsers, the Fetch API offers a more modern and straightforward approach to making HTTP requests. It provides a promise-based interface and a simpler syntax compared to XHR, making it easier to use and read. Fetch supports various request methods, handles response types, and provides better error handling.


  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

3. Axios

Axios is a popular JavaScript library for making HTTP requests, commonly used in both browser and Node.js environments. It encapsulates XHR and provides a simple and intuitive API, enhancing code readability and maintainability. Axios supports promises and offers features like request cancellation, interceptors, and automatic JSON parsing.


  .then(response => console.log(response.data))
  .catch(error => console.error(error));

4. jQuery AJAX

jQuery, a widely-used JavaScript library, provides an AJAX method for making asynchronous HTTP requests. It simplifies the process with a concise syntax and cross-browser compatibility. However, note that using jQuery only for AJAX requests might not be necessary if you’re not using other jQuery features.


  url: 'https://api.example.com/data',
  method: 'GET',
  success: function(response) {
  error: function(error) {


Making HTTP requests in JavaScript is crucial for interacting with servers and fetching data in modern web applications. Whether you opt for the traditional XMLHttpRequest object, the modern Fetch API, the versatile Axios library, or the simplicity of jQuery AJAX, each approach has its strengths and fits different use cases. You can choose the method that aligns with your project’s requirements.

This is all for now. Hope you enjoy that.

By Asahi




tel. 06-6454-8833(平日 10:00~17:00)