Maison > Article > interface Web > jQuery implémente la méthode de surveillance de toutes les requêtes ajax sur la page
Cet article présente principalement la méthode de jQuery pour mettre en œuvre la surveillance de toutes les requêtes ajax sur la page, impliquant les compétences de détermination des requêtes ajax dans jQuery. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
Cet article décrit les exemples jQuery implémente la méthode de surveillance de toutes les requêtes ajax sur la page. Partagez-le avec tout le monde pour 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 ?<!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 :
erreur : appelée lorsqu'une erreur se produit, peut être utilisé pour signaler des demandes erronées.complet : sera appelé quel que soit le succès ou l'échec
Dans les versions supérieures :
$.promise$.when
Implémentation de la vérification globale sous bootstrapValidator basée sur jQuery
Introduction à la méthode de jQuery implémentant ajax pour appeler les services WCF
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!