Ich verwende .ajaxStart () und .ajaxStop (), um ein Modal anzuzeigen, während eine Ajax-Anfrage gestellt wird. (zwischen Start und Stopp)
Jetzt möchte ich eine Longpoll-Funktion hinzufügen, die auf Benachrichtigungen wartet, ähnlich der in der linken oberen Ecke dieser Site.
Mein Problem liegt nun darin, dieses Modal nur für die Longpolling-Anfrage zu deaktivieren.
Ein- und Ausschalten von "Ladebildschirm" -Handlern:
$(document).ajaxStart(handleAjaxStart);
$(document).ajaxStop(handleAjaxStop);
Meine Longpoll-Funktion:
$.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
});
Ich habe es versucht:
$().off('ajaxStart');
$().off('ajaxStop');
..und die Handler nach dem Start der Umfrage wieder anbringen, aber keine Freude.
Ich habe auch versucht, eine globale Variable einzuführen handleAjaxStart()
, die in der ersten Zeile der Funktion zurückgegeben wird, aber das scheint den Ladebildschirm vollständig zu zerstören.
Irgendwelche Ideen, wie dies erreicht werden kann?
ajaxComplete(), ajaxError(), ajaxSend(), ajaxStart(), ajaxStop(), ajaxSuccess()
nicht nur Start und Stop.