我不知道为什么这段代码不起作用:S
function check(){
var haySaldo=false;
$.post("controlarSaldo.php", function(data)
{
if(data>0)
haySaldo=true;
});
return haySaldo;
}
信息:
数据= 1000
我在jquery中发出了haySaldo的警报,我得到了“真实”,但在jquery之外,我得到了“假”:S
提前很多!
答案 0 :(得分:0)
您的return
语句似乎不在您的职能范围内。
试试这个
$.post("controlarSaldo.php", function(data){
var haySaldo=false;
if(data>0){
haySaldo=true;
}
return haySaldo;
});
答案 1 :(得分:0)
如果您已经理解了这一点,请道歉,但这个jQuery post方法是AJAX请求的简写,这意味着您的代码不会等到AJAX请求完成后再返回haySaldo的值(如您所写)
通过从成功方法内部调用return,有点不清楚你打算做什么。也许如果您提供更多信息,人们可以提供更好的建议。
您可能希望查看的一件事是jQuery的deferred objects。它可以让你做这样的事情。
function check(){
return $.post("controlarSaldo.php").success(function(data)
{
if(data>0)
return true;
else
return false;
});
}
然后在你的代码中你可以做(未经测试)。
check().done(function(resp){
if(resp){
// Do true thing
}
else{
// Do false thing
}
});