Jquery ajax - Заставить функцию ждать выполнения предыдущей функции - PullRequest
0 голосов
/ 11 апреля 2020

Когда пользователь нажимает кнопку «Отправить», я делаю вызов Jquery AJAX, чтобы проверить, является ли пользователь администратором или нет, если пользователь является администратором, я показываю всплывающее окно информации для пользователя с Кнопка «ОК». Как только пользователь нажимает кнопку «ОК», форма может быть отправлена. Если пользователь не является администратором, форма может быть отправлена.

Ниже приведен пример кода

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 () завершает выполнение и показывает всплывающее окно, и до того, как пользователь нажимает кнопку ОК, выполняется SubmitForm () и отправляется форма

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...