0

我看过,我可以看到其他类似的问题,但我无法完成这项工作。我希望有一个人可以帮助我。

这是 location.js 上的代码

//*********************** Check if admin *************************
      var CheckAdminStatus = function(uid) {
    var Admin_level = 0;
    $.ajax({
            url: 'fn/ajax.php',
            type: 'POST',
            dataType: 'json',
            data: 'switch=IsAdmin&uid='+uid,

        success: function(IsAdmin) {
        //console.log(IsAdmin);

            if(IsAdmin) {
                Admin_level = IsAdmin[0].uid_level;
            }

        adminResult(Admin_level);
        }
    }); 

} // 检查 admin 和调用者是否在 index.php 文件中结束

   CheckAdminStatus(window.uid);
   function adminResult(admin) {
      alert(admin);
   }

根据 Adil 的建议,但我没有收到任何警报,也没有任何 ajax 调用?

4

1 回答 1

2

Ajax 是异步调用,ajax 调用可以在成功触发之前结束,您可以在成功内调用函数并将所需的值传递给它。

function CheckAdminStatus (uid) {
    var Admin_level = 0;
    $.ajax({
            url: 'fn/ajax.php',
            type: 'POST',
            dataType: 'json',
            data: 'switch=IsAdmin&uid='+uid,

        success: function(IsAdmin) {
           YourFunctionToCheckAdmin(Admin_level);
        }
    }); 
}   // End of Check if admin

CheckAdminStatus(window.uid) 

function YourFunctionToCheckAdmin(Admin_level)
{
    alert("Do processing with response here... Admin_level = " + Admin_level);
}
于 2012-10-11T15:32:48.570 回答