Axios — HTTP Client for JavaScript (Node.js)

онлайн тренажер по питону
Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

What is Axios?

Axios is a popular HTTP client for JavaScript that works both in the browser and in the Node.js environment. It is based on Promises and provides a convenient API for making HTTP requests. The library automatically handles JSON, supports interceptors, request cancellation, and CSRF protection.

Why do you need Axios?

Unlike the built-in fetch, Axios offers richer functionality out of the box: automatic data transformation, upload progress bars, timeouts, retries, and support for legacy browsers. For Node.js developers, it is an indispensable tool for interacting with REST APIs, microservices, and external services.

Installation

Install the library via npm or yarn:

npm install axios

Or for global use:

npm install -g axios

Main Features

  • Support for all HTTP methods: GET, POST, PUT, DELETE, PATCH, etc.
  • Automatic JSON serialization/deserialization.
  • Request and response interceptors for logging, authentication, and error handling.
  • Request cancellation via AbortController (modern API) or CancelToken (legacy).
  • Timeouts and retries (via plugins or manual configuration).
  • File uploads with progress (via onUploadProgress).

Code Example on Node.js

const axios = require('axios');

async function getPost(id) { try { const response = await axios.get(`https://jsonplaceholder.typicode.com/posts/${id}`); console.log('Data:', response.data); } catch (error) { console.error('Error:', error.message); }}

getPost(1);

// POST request with dataconst newPost = { title: 'Title', body: 'Post body', userId: 1,};

axios.post('https://jsonplaceholder.typicode.com/posts', newPost) .then(res => console.log('Created:', res.data)) .catch(err => console.error('Error:', err));

When to use Axios

Axios is ideal for projects that require a reliable HTTP client with advanced capabilities: enterprise applications, microservice architecture, integration with external APIs, as well as for cases where backward compatibility with older versions of Node.js (up to 18.x) is needed. If you prefer lightweight solutions, consider node-fetch or the built-in fetch in Node.js 18+.

Conclusion

Axios remains the de facto standard for HTTP requests in the JavaScript ecosystem. Thanks to its simplicity, flexibility, and extensive community, this library is suitable for both quick prototypes and large production systems.

Recommendations