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);
        }
    }); 

} // 管理者のチェックの終了 呼び出し元が 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 に答える