skip to Main Content

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
}

4

Answers


  1. 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.

    Login or Signup to reply.
  2. 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
    }
    
    Login or Signup to reply.
  3. 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

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search