J'utilise .ajaxStart() et .ajaxStop() pour afficher une modale pendant l'exécution d'une requête ajax. (entre le démarrage et l'arrêt)
J'aimerais maintenant ajouter une fonction de sondage long qui attend les notifications, semblable à celle qui se trouve dans le coin supérieur gauche de ce site.
Mon problème est maintenant de désactiver cette modale uniquement pour la demande de longpolling
Enregistrement des gestionnaires d'activation et de désactivation de l'"écran de chargement" :
$(document).ajaxStart(handleAjaxStart);
$(document).ajaxStop(handleAjaxStop);
Ma fonction 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
});
J'ai essayé :
$().off('ajaxStart');
$().off('ajaxStop');
et en rattachant les gestionnaires après avoir lancé l'interrogation, mais sans succès.
J'ai également essayé d'introduire une variable globale dans handleAjaxStart()
qui reviendrait à la première ligne de la fonction, mais cela semble tuer complètement l'écran de chargement.
Avez-vous une idée de la manière dont cela peut être réalisé ?