J’ai un problème, lorsque vous soumettez un formulaire tous les fail de requête ajax active et cet événement d’erreur de déclencheurs.
Comment arrêter tous les requêtes ajax actives dans jQuery sans événement lors du déclenchement d’erreur ?
J’ai un problème, lorsque vous soumettez un formulaire tous les fail de requête ajax active et cet événement d’erreur de déclencheurs.
Comment arrêter tous les requêtes ajax actives dans jQuery sans événement lors du déclenchement d’erreur ?
$.xhrPool = [];
$.xhrPool.abortAll = function() {
$(this).each(function(idx, jqXHR) {
jqXHR.abort();
});
$.xhrPool.length = 0
};
$.ajaxSetup({
beforeSend: function(jqXHR) {
$.xhrPool.push(jqXHR);
},
complete: function(jqXHR) {
var index = $.xhrPool.indexOf(jqXHR);
if (index > -1) {
$.xhrPool.splice(index, 1);
}
}
});
À l’aide ajaxSetup n’est pas correct, comme indiqué sur sa page de doc. Elle permet uniquement de configurer les paramètres par défaut, et si certains demande override eux il y aura un gâchis.
Je suis moyen tardif à la partie, mais juste pour un usage ultérieur si quelqu'un est à la recherche d’une solution au même problème, voici mon aller à elle, inspirée et en grande partie identiques aux réponses précédentes, mais plus complet
Donner un id unique à chaque requête xhr et stocker la référence d’objet dans un objet avant de l’envoyer. Supprimez la référence après qu’une demande de xhr se termine.
Pour annuler tous demandent à tout moment :
Retourne les ID uniques des demande annulée. Uniquement pour des fins de test.
Fonction de travail :
Retourne un objet avec la seule fonction qui peut être utilisé pour ajouter des fonctionnalités plus si nécessaire.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.