对JQuery和JS变量有一些误解。简单的例子:
function someFunc(){
var flag = true;
$(function(){
$.post("/some/address/", {} ,function(data){
if( data == false){
flag = false;
}
});
});
if(flag == false){
return false;
}
}
主要问题是Jquery函数中变量标志的可访问性。我总是得到等于true的相同标志值。如何做到这一点?如何使全局变量对于JS和JQuery可见?
最佳答案
我认为您的问题实际上不是范围之一;我认为您的问题是post
函数是异步的。也就是说,它会在服务器上获取数据,并在数据返回时(可能需要一段时间)运行回调函数(更新您的标志)。但是与此同时,周围的功能仍在继续;它不等待post
返回。因此标志更新在外部函数返回后发生。