BidiBom
@BidiBom
Wild stuff. Africa

Как отловить завершение всех Ajax-запросов?

Здравствуйте! У меня есть функция, которая в цикле посылает Ajax-запросы и возвращает данные с сервера. Мне необходимо на время, пока эти запросы выполняются повесить "загрузчик".
Пытаюсь делать так:
$("#page_loader").bind("ajaxStart", function(){
    $(this).show();
}).bind("ajaxStop", function(){
    $(this).hide();
});


Ничего не получается. Если обрабатывать события AjaxSend и AjaxComplete, то получается, но при этом "загрузчик", то появляется, то пропадает. Ведь эти события локальны для запроса.
Как решить эту задачу?

UPD1:
Вот код скрипта:
function getphotoallalbum() {
    var ier = 0;
    $.each(itm, function (i, item) {
        ier += 500;
        setTimeout(function(){
            var grp = $("#GroupBase :selected").val();
            var albm = item.id;
            $.post("drs.php", {groupid: grp, albumid: albm},
            function (data) {
                $('.console').after('<p>' + data + '</p>');
                //console.log(data);
            });
    }, ier);

    });
    getcountbase();
}
  • Вопрос задан
  • 516 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Добавить глобальный счётчик. По отправке запроса - увеличивать и включать показ загрузки, по завершении запроса - уменьшать, когда станет 0 отключать показ.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы