Почему не работает асинхронность Ajax-запроса?

Проявилась следующая проблема: на сайте работает long polling скрипт в виде ajax запроса к серверу с тайм-аутом, по завершению которого все повторяется, в случае success тоже.
Помимо данного скрипта есть еще различные, например, ajax навигация, кнопка отправки сообщения, etc..
Так почему невозможно отправить сообщение, даже уйти со страницы посредством ajax навигации пока исполняется скрипт long-polling (а исполняется он всегда, очевидно) если ajax запрос асинхронный?

Скрипт long polling (jQuery):

function getContent(time_mark)
{
    var queryString = {"time_mark" : time_mark};

    $.ajax(
        {
            type: "GET",
            url: "../server.php",
            data: queryString,
            async: true,
            success: function(data){
                var obj = jQuery.parseJSON(data);
                $("#res").append(obj.text);
                getContent(obj.time_mark);
            }
        }
    );
}

$(function() {
    getContent();
});
  • Вопрос задан
  • 2478 просмотров
Пригласить эксперта
Ответы на вопрос 4
@mayorovp
Небольшой совет: вызывайте повторный getContent в обработчике complete, а не success. На ваш же вопрос уже ответили.
Ответ написан
andriy063
@andriy063 Автор вопроса
Спасибо. А как на все вкладки открыть лишь одно активное соединение?
Если можно, с примером...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы