这篇文章主要介绍了jQuery实现监控页面所有ajax请求的方法,涉及jQuery中ajax请求的判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了jQuery实现监控页面所有ajax请求的方法。分享给大家供大家参考,具体如下:
你是不是有遇到这样的问题:页面发起两个ajax请求,希望它们都成功以后,再做一个动作?
很容易想到的解决方案是,等其中一个结束以后,再发起另外一个,这个过程用回调函数来完成。
但是,如果其中一个ajax请求的代码不是你写,你改不了,怎么办?
又或者说,你只想知道某个url请求什么时候结束,不想管其他的请求,怎么弄?
<!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>
其他的相关函数:
$.ajax 中:
error:当出错时调用,可以用来上报错误的请求。
complete:无论成功还是失败都会调用
高版本中:
$.promise
$.when
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
基于jQuery 实现bootstrapValidator下的全局验证
以上是jQuery实现监控页面所有ajax请求的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具