#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. Если вы объявите его в функции, его область действия будет ограничена этой функцией.