如何从javascript中的另一个函数中访问ajax success中的变量
check_promo是一个ajax函数,参数'param'来自ajax success。我想如何调用下一个函数中要处理的参数 我试图显示警报,但它与生成的ajax不匹配如何从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(
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。或者你可以阅读、使用和回报承诺。