Home > OS >  Axios is returning undefined
Axios is returning undefined

Time:11-18

My API is returning proper data when I am requesting from Postman. Even API is getting properly called from React, I checked using console.log inside the controller, but I am always getting undefined response. I am not sure what the mistake is.

const submit = async (e: SyntheticEvent) => {
    e.preventDefault();

    const response = await axios
        .get('certificates', {
            params: { sponser },
        })
        .then((res) => {
            console.log(response); //undefined
            alert(res.status);  //200
            alert(res); //[object Object]
        });
};

Could you please help me on the same.

CodePudding user response:

You need to return res in the then to have access on response:

const response = await axios
    .get('certificates', {
        params: { sponser },
    })
    .then((res) => {
        console.log(response); //undefined
        alert(res.status);  //200
        alert(res); //[object Object]
        // response is not defined here!
        return res;
    });
console.log(response);

Shorter way:

const response = await axios
    .get('certificates', {
        params: { sponser }
    });
console.log(response);

It seems that OP is relatively new to js - I can recommend this intro to async js: https://javascript.info/async-await

  • Related