


jQuery implémente la méthode de surveillance de toutes les requêtes ajax sur la page_jquery
May 16, 2016 pm 03:26 PML'exemple de cet article décrit comment jQuery implémente la surveillance de toutes les requêtes ajax sur la page. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Avez-vous déjà rencontré un tel problème : la page initie deux requêtes ajax, en espérant qu'elles aboutissent avant d'entreprendre une autre action ?
La solution simple à laquelle penser est d'attendre la fin de l'un d'entre eux avant de lancer l'autre. Ce processus est complété à l'aide d'une fonction de rappel.
Cependant, que devez-vous faire si l'un des codes de requête ajax n'est pas écrit par vous et que vous ne pouvez pas le modifier ?
En d’autres termes, vous voulez simplement savoir quand une certaine requête d’URL se termine et vous ne voulez pas vous soucier des autres requêtes. Comment faire cela ?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> </head> <body> <p id="test"></p> </body> <script src="js/jquery-1.11.0.min.js"></script> <!--首先在页面引入jquery的后面,紧接着以下代码:--> <script> //前提:所有ajax请求都是用jquery的$.ajax发起的,而非原生的XHR; var ajaxBack = $.ajax; var ajaxCount = 0; var allAjaxDone = function(){$('#test').append('all done!<br>');} //一行代码,就可以知道所有ajax请求什么时候结束 //由于get/post/getJSON等,最后还是调用到ajax,因此只要改ajax函数即可 $.ajax = function(setting){ ajaxCount++; var cb = setting.complete; setting.complete = function(){ if($.isFunction(cb)){cb.apply(setting.context, arguments);} ajaxCount--; if(ajaxCount==0 && $.isFunction(allAjaxDone)){ allAjaxDone(); } } ajaxBack(setting); } </script> <!--以下是别人的script--> <script> $.ajax({url: 'js/jquery-1.11.0.min.js', success: function(recv){$('#test').append('别人的ajax请求1,done<br>')}}); </script> <script> $.get('css/main.css', null, function(recv){$('#test').append('别人的get请求,done<br>')}); </script> <script> $.post('css/main.css', null, function(recv){$('#test').append('别人的post请求,done<br>')}); </script> </html>
Autres fonctions associées :
$.ajax :
error : Appelé lorsqu'une erreur se produit et peut être utilisé pour signaler des demandes erronées.
complet : appelé indépendamment du succès ou de l'échec
Version haute :
$.promesse
$.quand
J'espère que cet article sera utile à tous ceux qui programment jQuery.

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la méthode de requête PUT dans jQuery ?

Comment supprimer l'attribut height d'un élément avec jQuery ?

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page

Utilisez jQuery pour modifier le contenu textuel de toutes les balises

Erreurs de surveillance Laravel : améliorer la stabilité des applications

La télécommande Tournesol sera-t-elle surveillée ? La télécommande Tournesol révélera-t-elle la confidentialité ?

Comprendre le rôle et les scénarios d'application de eq dans jQuery

Comment savoir si un élément jQuery possède un attribut spécifique ?
