Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javascript中的另一个函数中访问ajax success中的变量_Javascript_Jquery_Ajax - Fatal编程技术网

如何从javascript中的另一个函数中访问ajax success中的变量

如何从javascript中的另一个函数中访问ajax success中的变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,check_promo是一个ajax函数,参数'param'来自ajax success。我想如何调用下一个函数中要处理的参数 我试图显示警报,但它与生成的ajax不匹配 function result_promo(){ var data = ''; check_promo(function(param){ //output param is 1 data = param; }); return data ; } function submit(

check_promo是一个ajax函数,参数'param'来自ajax success。我想如何调用下一个函数中要处理的参数

我试图显示警报,但它与生成的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
}

您可以使用promise将其存档。

由于check\u promo正在进行一个AJAX调用,并且传递给它的参数是一个回调,所以发生的情况是您正在启动AJAX函数,但结果在check\u promo完成之前返回。因此,数据为空


相反,您最好在submit中调用check_promo。结果\u promo函数在这里没有实际用途。

如果您的函数“check\u promo”用于AJAX调用,那么您需要使用Promise或Observable来获取最新的res

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
}
有关更多信息,请参见:


那么,我应该如何在submit中调用check\u promo,就像您在result\u promo中所做的那样。但回调函数的结果我需要在另一个函数中执行下一个过程,然后你必须将回调传递给该函数,并将其传递给check_promo。或者你可以阅读、使用和回报承诺。