Member 10028394 Ответов: 1

Я хочу показать модальный процесс во время обработки, но он просто мигает, а не показывает, когда процесс завершен


Я хочу показать модальный во время запуска процесса и скрыть, когда процесс завершен, но он не отображается в течение надлежащего времени, он просто мигает (показывает и скрывает в течение очень небольшой продолжительности) мой код приведен ниже

Что я уже пробовал:

function loadShipment() {
       var Year = $("#year").val();
       var Month = $("#month").val();
       var DataObjectForAjaxCall = { strYear: Year, strMonth: Month };
       if (Year != "" && Month != "") {
           $("#modalCenter").click(); // Show modal
           $.ajax({
               url: "@Url.Action("loadShipment", "ManualBooking")",
               method: "GET",
               data: DataObjectForAjaxCall,
               async: false,
               success: function (Result) {
                   $('.modal-body').html(Result);
               }
           });
           $("#hideLoader").click(); // Hide modal
       } else {
           Alerts("Select Year and Month First");
       }

   }

1 Ответов

Рейтинг:
1

Andy Lanng

Вот этот кусочек:

$.ajax({
      url: "@Url.Action("loadShipment", "ManualBooking")",
      method: "GET",
      data: DataObjectForAjaxCall,
      async: false,
      success: function (Result) {
           $('.modal-body').html(Result);
      }
});


асинхронный. Вы говорите ему, что делать, и он уходит и бежит.

Следующая линия:
$("#hideLoader").click(); // Hide modal

запускается сразу после того, как вы скажете вызову ajax, что делать, а не когда он завершится. Это происходит в других местах.

После того, как асинхронный AJAX-вызов был завершен, выполняется следующая:
success: function (Result) {
     $('.modal-body').html(Result);
}

но только если это удастся.

Добавь туда свою шкуру.

Также включают в себя
error: function () {
        
}

чтобы поймать, когда процесс не удался. Вы не хотите, чтобы модальный элемент оставался, если процесс завершится неудачно


Member 10028394

Я не мог понять ваш ответ, Пожалуйста, скажите мне ясно, где я беру ошибку, или если у вас есть какой-либо пример кода, пожалуйста, напишите здесь.
Спасибо

Andy Lanng

Я ясно сказал вам, где именно ваша ошибка и ясно и точно, как ее исправить.

Все, что вы хотите сделать после успешного вызова ajax, поместите в функцию success
Все, что вы хотите сделать после неудачного вызова ajax, поместите в функцию error

Все, что вы хотите сделать после другого успеха для ошибки, добавьте к обеим функциям.