rac*_*n0n 2 javascript ajax jquery global-variables
我对jQuery比较陌生,我试图解决这个代码但是经常失败,我面临的问题是,我有一个gloval数组(Roles_Permission),我能够在我的AJAX请求中使用它,我也是能够对阵列的内容进行更改,但是当我出来的那一刻,所有的全局值都回归原始值,为什么?!?需要帮忙.请看下面的代码,
// Global Variable
var Role_Permission = {
"Value1" : true;
"Value2" : true;
"Value3" : true;
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个如下功能,
function checkRoles(){
requestData(
"roleData",
{ roleName: "testUser"},
function(result){
Role_Permission["Value2"] = false;
alert(Role_Permission["Value2"]);
}
});
alert(Role_Permission["Value2"]);
}
Run Code Online (Sandbox Code Playgroud)
AJAX外部的警报将Value2的值返回为True但是,在其中返回为FALSE,为什么?!?请帮忙
谢谢
因为AJAX请求是异步运行的,所以这就是为什么你给它一个回调,一旦完成就会被调用.即使您刚发送的请求仍在运行,回调外的所有内容都会立即执行.这就是为什么底部警报仍然具有旧值,但回调内部的值仍然是新值.