首页 > 解决方案 > Jquery ajax - 让一个函数等到前一个函数被执行

问题描述

当用户单击“提交”按钮时,我正在进行 Jquery AJAX 调用以检查用户是否是管理员用户,如果用户是管理员,我将使用 OK 按钮为用户显示信息弹出窗口。一旦用户单击确定按钮可以提交表单。如果用户不是管理员用户,则可以提交表单。

下面是示例代码

function btnFormSubmit()
{
   SubmitForm()
}

function SubmitForm()
{
IsUserAdmin();
SubmitForm();
}


function IsUserAdmin()
{
var userName = $('#txtUser').val();
           $.ajax({
                type: "GET",
                url: admin/checkisAdmin,
                dataType: "json",
                data: {
                "userId": userName
                },
             success: function (data) {
             if(data * 1){
              showAdminPopup();
             }
           else
           {
           }           
          },
error : function () {
}
});
}

function showAdminPopup() 
{
 var dlg = $("#divAdminDialog");
        dlg.dialog({                   
        width: 600,
        modal: true,
        create: function(e, ui) {

            },
        buttons: [{
             id: "ok_id",
             text: "OK",
             click: function() {
              $(this).dialog("close");
           }
          }]
        });
      }

上面的问题是 IsUserAdmin() 完成执行并显示弹出窗口,在用户单击 OK 按钮之前,SubmitForm() 正在执行并且表单正在提交

标签: jquerymodal-dialogjquery-ajaxq

解决方案


推荐阅读