如上图代码 我调用时返回的是undefined
改为同步,而且你的回调里面返回值没用,并不是你的getTotalIntegral的返回值,还有以后代码,不要发截图。看桌就烦
function getTotalIntegral(){
//...原来的代码
var rst=false;
$.ajax({
async:false,/////////////同步
success:function(data){
if(data.state==1)rst=data.integral
}
///其他配置
})
return rst;//////
}
你要保存到变量中,然后在外面Uu 一层返回。注意异步的时间点
你可以把别的函数最为参数传给getTotalIntegral,比如
function getTotalIntegral(alertAjax){
//...原来的代码
$.ajax({
//...原来的代码
success:function(data){
if(data.state==1){
alertAjax(data.integral);
}
}
})
}
function alertAjax(data){
alert(data);
}
如果你不想定义一个函数,可以直接使用匿名函数,如
function getTotalIntegral(alertAjax){
//...原来的代码
$.ajax({
//...原来的代码
success:function(data){
if(data.state==1){
alertAjax(data.integral);
}
}
})
}
$(function(){
$('#gameRule').hide();
getTotalIntegral(function(data){alert(data)});
});
原来关键在于我默认的是异步所以不行。