2025-04-01
5480
#javascript
Faraz Kelhini
3494
116
Apr 1, 2025 ⋅ 19 min read

Axios in JavaScript: How to make GET, POST, PUT, and DELETE requests

Faraz Kelhini JavaScript developer.

Recent posts:

LLM routing in production: Choosing the right model for every request

Learn how LLM routing works in production, when it’s worth the complexity, and how teams choose the right model for each request.

Alexander Godwin
Feb 5, 2026 ⋅ 11 min read
React Svelte Next JS

Remix vs. Next.js vs. SvelteKit

Compare key features of popular meta-frameworks Remix, Next.js, and SvelteKit, from project setup to styling.

Alex Merced
Feb 4, 2026 ⋅ 8 min read
replay feb 4

The Replay (2/4/26): AI-first leadership, Tailwind layoffs, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the February 4th issue.

Matt MacCormack
Feb 4, 2026 ⋅ 37 sec read
ken pickering ai first organization

What it actually means to be an AI-first engineering organization

AI-first isn’t about tools; it’s about how teams think, build, and decide. Ken Pickering, CTO at Scripta Insights, shares how engineering leaders can adapt.

Ken Pickering
Feb 4, 2026 ⋅ 3 min read
View all posts

5 Replies to "Axios in JavaScript: How to make <code>GET</code>, <code>POST</code>, <code>PUT</code>, and <code>DELETE</code> requests"

  1. You should also note that axios can also be used on the server with node.js – probably one of my favorite higher level HTTP libraries.

    One of the better qualities when using it on the server is the ability to create an instance with defaults – for example sometimes I’ll need to access another REST API to integrate another service with one of our products, if there is no existing package or the existing package doesn’t support the end points I need to access I’ll just create an abstraction which internally uses a http client created by axios.create():

    const instance = axios.create({
    baseURL: ‘https://api.example.org/’,
    headers: {‘Some-Auth-Header’: ‘token’}
    });

    Cheers,
    Chris

  2. This post says nothing about the responseType parameter, which can stream a large binary file.

  3. Got a question about accessing the data outside of the axios.spread. What I am doing is using node to collate some data from disparate API calls and return one dataset. I do the two calls, create a new object and return it.
    The new object exists within the AXIS code block but when I try and view outside it is blank.

    I also tried to do this in a function with a return but it also returns a blank.

    let retData = {};
    axios
    .all([reqDevInfo, reqConInfo])
    .then(
    axios.spread((resDevInfo,resConInfo ) => {
    retData.status = 200;
    retData.deviceName = deviceName
    retData.tenant = resDevInfo.data.results[0].tenant.name;
    retData.ru = resDevInfo.data.results[0].position;
    retData.TServerName = resConInfo.data.results[0].connected_endpoint.device.name;
    retData.TServerPort = resConInfo.data.results[0].cable.label;
    console.log(retData); // this print the expected data

    })
    )
    .catch(errors => {
    // react on errors.
    console.error(errors);

    });

    console.log(retData) // this is blank

  4. How can I build or append data elements to a post request before I send the request?
    I have optional 4 optional parameters and there are too many combinations to code for all the variations.

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now