Подсчет вызовов ajax в jquery

#c# #jquery #asp.net #ajax #asp.net-core-mvc

Вопрос:

У меня есть один основной флажок с именем «Выбрать все». Что я хочу сделать, так это как только пользователь нажмет на этот флажок, отобразится загрузчик, он работает нормально.

Теперь, как только пользователь нажмет на флажок «Выбрать все», он выберет другие флажки, а также вызовет метод Ajax для каждого выбора флажка.

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

Я получаю ответ ниже, как только мы нажимаем на флажок «Выбрать все», вы можете увидеть изображение ниже для этого.

Я попытался добавить один массив в функцию успеха и нажать в нем ответ, но каждый раз длина этого массива равна 1. Ниже приведен код

 var AjaxCall = [];

success: function (response) {
                if (response.isSuccess) {
                    console.log(response);
                    AjaxCall.push(response.id);
                    $("#loading").hide();
                }
                else {
                      //show some error
                }
 

введите описание изображения здесь

Комментарии:

1. Что вы пробовали до сих пор?

2. @Lapskaus Я добавил немного кода..дайте мне знать, если вы хотите увидеть больше, чтобы я мог поделиться и этим.

3. Если длина массива AjaxCall всегда равна 1 после response.id ввода в него a,я предполагаю, что это проблема области действия. Переменная var AjaxCall = []; должна быть доступна для всех ваших вызовов ajax и не может быть локальной для этих вызовов.

4. Я добавил это перед вызовом Ajax подобным образом, так что это нормально ИЛИ нужно определить это вне функции. var AjaxCall = []; $(«#загрузка»).показать(); $.ajax({ тип: «СООБЩЕНИЕ»,

5. Если вы объявите его в функции, его область действия будет ограничена этой функцией.