ogebman
ogebman

Reputation: 67

How to access a variable from ajax success from within another function in javascript

check_promo is an ajax function and parameter 'param' is from ajax success. How do I want to call that parameter to be processed in the next function?

I tried to display alerts but it did not match the resulting ajax

function result_promo(){
    var data = '';
    check_promo(function(param){ //output param is 1
        data = param;
    });
    return data ;
}

function submit(){
    var check = result_promo();
    alert(check); //not showing 1 but null
}

Upvotes: 0

Views: 125

Answers (4)

Divya Kanak
Divya Kanak

Reputation: 1

If your function ' check_promo' is used AJAX call then you need to use Promise or Observable for getting the latest res.

For more information, please follow : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

https://rxjs-dev.firebaseapp.com/guide/observable

Upvotes: 0

Jay Gandhi
Jay Gandhi

Reputation: 51

function result_promo(){
    var data = '';
    check_promo(function(param){ //output param is 1
        submit(param);
    });
    return data ;
}

function submit(param){
    var check = param;
    alert(check); //It will show 1 in alert box
}

Upvotes: 1

Matt U
Matt U

Reputation: 5118

Since check_promo is making an AJAX call and the parameter passed to it is a callback, what's happening is that you're firing off the AJAX function but result_promo returns before check_promo to complete. Hence data is null.

Instead, you'd be better off calling check_promo in submit. The result_promo function serves no real purpose here.

Upvotes: 0

Related Questions