function
Ishasman(){
$.ajax({
url: "com.cloud.oa.service.impl.OfficeSysRs.queryMembers()",
data: { orgGid:gid},
success: function(resdata, textStatus, jqXHRult){
if(resdata.length>0){ hasman=true;}
else{ hasman=false;}
}
});
$.ajax({
url: "com.cloud.oa.service.impl.OfficeSysRs.queryMembers()",
data: { orgGid:gid},
success: function(resdata, textStatus, jqXHRult){
if(resdata.length>0){ hasman=true;}
else{ hasman=false;}
}
});
}
比如上面的函数。我想在其他地方获取里面的变量hasman的值。
但是就算我们直接把hasman定义成全局变量。在其他地方也获取不到。因为函数执行的时候首先会执行ajax以外的(ajax是异步的缘故)。所以我们获取的时候这个ajax还根本没有执行呢。
解决办法
方法一步骤:
1.把ajax改成同步的。async: false,
2.执行这个函数,函数执行完返回这个hasman。然后通过函数名来获取。
方法二步骤:
1.把某个变量定义成全局的,.把ajax改成同步的。async: false,
2.在外部直接用全局变量名获取变量。
方法一:
function Ishasman(){