Я використовую .ajaxStart () та .ajaxStop (), щоб показати модаль, поки робиться запит ajax. (між запуском та зупинкою)
Тепер я хотів би додати функцію longpoll, яка продовжує чекати сповіщень, подібну до тієї, що знаходиться у лівому верхньому куті цього сайту.
Зараз моя проблема полягає у відключенні цього способу лише для запиту довгого опитування ..
Реєстрація "екрану завантаження" на обробники та вимикачі:
$(document).ajaxStart(handleAjaxStart);
$(document).ajaxStop(handleAjaxStop);
Моя функція longpoll:
$.ajax({
timeout: 35000,
url: longPollUrl,
success: function(data){
if(data.queCount) $('#numQueCount').html(data.queCount);
if(data.queAccept) $('#numQueAccept').html(data.queAccept);
},
dataType: 'json',
complete: longpoll
});
Я намагався:
$().off('ajaxStart');
$().off('ajaxStop');
..і повторне підключення обробників після початку голосування, але ніякої радості.
Я також спробував ввести глобальну змінну, handleAjaxStart()
яка повертається в перший рядок функції, але це, здається, повністю вбиває екран завантаження.
Будь-які ідеї, як цього можна досягти?
ajaxComplete(), ajaxError(), ajaxSend(), ajaxStart(), ajaxStop(), ajaxSuccess()
не лише Start і Stop.