jQuery实现监控页面所有ajax请求的方法

本文实例讲述了jQuery实现监控页面所有ajax请求的方法。分享给大家供大家参考,具体如下:

你是不是有遇到这样的问题:页面发起两个ajax请求,希望它们都成功以后,再做一个动作?

很容易想到的解决方案是,等其中一个结束以后,再发起另外一个,这个过程用回调函数来完成。

但是,如果其中一个ajax请求的代码不是你写,你改不了,怎么办?

又或者说,你只想知道某个url请求什么时候结束,不想管其他的请求,怎么弄?

  1. <!DOCTYPE html>

  2. <html lang="en">

  3.   <head>

  4.     <meta charset="utf-8" />

  5.   </head>

  6.   <body>

  7.     <p id="test"></p>

  8.   </body>

  9.   <script src="js/jquery-1.11.0.min.js"></script>

  10.   <!--首先在页面引入jquery的后面,紧接着以下代码:-->

  11.   <script>

  12.     //前提:所有ajax请求都是用jquery的$.ajax发起的,而非原生的XHR;

  13.     var ajaxBack = $.ajax;

  14.     var ajaxCount = 0;

  15.     var allAjaxDone = function(){$('#test').append('all done!<br>');} //一行代码,就可以知道所有ajax请求什么时候结束

  16.     //由于get/post/getJSON等,最后还是调用到ajax,因此只要改ajax函数即可

  17.     $.ajax = function(setting){

  18.       ajaxCount++;

  19.       var cb = setting.complete;

  20.       setting.complete = function(){

  21.         if($.isFunction(cb)){cb.apply(setting.context, arguments);}

  22.         ajaxCount--;

  23.         if(ajaxCount==0 && $.isFunction(allAjaxDone)){

  24.           allAjaxDone();

  25.         }

  26.       }

  27.       ajaxBack(setting);

  28.     }

  29.   </script>

  30.   <!--以下是别人的script-->

  31.   <script>

  32.     $.ajax({url: 'js/jquery-1.11.0.min.js', success: function(recv){$('#test').append('别人的ajax请求1,done<br>')}});

  33.   </script>

  34.   <script>

  35.     $.get('css/main.css', null, function(recv){$('#test').append('别人的get请求,done<br>')});

  36.   </script>

  37.   <script>

  38.     $.post('css/main.css', null, function(recv){$('#test').append('别人的post请求,done<br>')});

  39.   </script>

  40. </html>

其他的相关函数:

$.ajax 中:

error:当出错时调用,可以用来上报错误的请求。
complete:无论成功还是失败都会调用

高版本中:

$.promise
$.when

希望本文所述对大家jQuery程序设计有所帮助。

原文链接:http://www.jb51.net/article/76169.htm

jQuery监控页面所有ajax请求的方法相关推荐

  1. jq中法可以发起ajax请求的方法有,jQuery实现监控页面所有ajax请求的方法

    本文实例讲述了jQuery实现监控页面所有ajax请求的方法.分享给大家供大家参考,具体如下: 你是不是有遇到这样的问题:页面发起两个ajax请求,希望它们都成功以后,再做一个动作? 很容易想到的解决 ...

  2. jQuery实现监控页面所有ajax请求的方法

    本文实例讲述了jQuery实现监控页面所有ajax请求的方法.分享给大家供大家参考,具体如下: 你是不是有遇到这样的问题:页面发起两个ajax请求,希望它们都成功以后,再做一个动作? 很容易想到的解决 ...

  3. 监控页面所有 ajax请求

    监控所有ajax请求: 你是不是有遇到这样的问题:页面发起两个ajax请求,希望它们都成功以后,再做一个动作?  很容易想到的解决方案是,等其中一个结束以后,再发起另外一个,这个过程用回调函数来完成. ...

  4. jq中法可以发起ajax请求的方法有,js与jQuery终止正在发送的ajax请求的方法

    本文实例讲述了js与jQuery终止正在发送的ajax请求的方法.分享给大家供大家参考,具体如下: 核心:调用XMLHttpRequest对象上的abort方法 jquery的ajax方法有自己的超时 ...

  5. AJAX请求 $.post方法的使用

    AJAX请求 $.post方法的使用 使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求.$.post方法是jQuery的实用工具方法. $.post方法语法 $.post( ...

  6. php 判断是否是ajax请求,php实现判断是否为ajax请求的方法

    这篇文章主要介绍了php判断是否为ajax请求的方法,结合实例形式分析了ajax请求的原理及后台针对ajax请求的判断技巧,需要的朋友可以参考下 先说前端使用 jQuery 时怎么区分: jQuery ...

  7. JS 监控页面刷新,关闭 事件的方法(转载)

    JS 监控页面刷新,关闭 事件的方法(转载) 已有 149 次阅读 2011-8-30 11:37 |个人分类:web|系统分类:创意设计|关键词:JS,刷新,关闭 都是为了学习-- onbefore ...

  8. jquery queue ajax,如何通过jQuery和Queue发送ajax请求?

    嗯,我有一个"ID"列表,我需要为每个"ID"发送一个Ajax请求. IDE是当请求完成时,运行以下Ajax请求. 所有这些与异步请求,因为否则,浏览器字面上& ...

  9. [js] 说说防止重复发送ajax请求的方法有哪些?各自有什么优缺点?

    [js] 说说防止重复发送ajax请求的方法有哪些?各自有什么优缺点? // 方法一 防抖function debounce(f, ms) { let time; return function(){ ...

最新文章

  1. 图像阈值处理cv2.threshold()函数(python)
  2. 新技术驱动新商业,网易创新企业大会亮点抢先看!
  3. 实现WebMvcConfigurer接口扩展Spring MVC的功能
  4. 专家:大数据等新技术助力信息融合
  5. java 正则匹配 sql星号,正则表达式匹配星号和换行符之间的字符串
  6. PyCharm安装开发游戏的Pygame
  7. Python格式化字符串f-string常用用法
  8. 关于虚拟机linux密码的那点事
  9. mysql join性能_Mysql Join语法解析与性能分析
  10. 不用加好友,查看对方校内照片
  11. Matlab R2016a安装教程
  12. pojo和vo的含义
  13. 计算机硬件的组装实践,论文-计算机硬件组装实践.doc
  14. 改变人生的100句箴言
  15. 三分钟让闲置电脑变云主机
  16. 常用的java工具类
  17. 2023年贵州大学文艺学专业考研上岸经验
  18. Buildozer生成的APP闪退+PermissionError故障排除记录
  19. Toward Fast, Flexible, and Robust Low-Light Image Enhancement(实现快速、灵活和稳健的弱光图像增强)CVPR2022
  20. 名气大增的小红书还需要提防些什么

热门文章

  1. AWS之EC2实例搭建LAMP服务器
  2. linux配置ssh密码远程登录,配置ssh 无需密码即可登录远程服务器
  3. oracle 事务故障,处理Oracle的分布式事务故障
  4. linux 编程之库的使用(学习笔记)
  5. openstack(Queens版) 安装FWaaS
  6. 有不含有重复数字的数组构造二叉树_Leetcode刷题记录:构建最大数二叉树
  7. cx_oracle windows缺少100 dll,Windows10无法运行QQ提示缺少MSVCR100.dll的解决方案
  8. 计算机组装比赛看什么书呀,现在学习计算机组装,还有硬体知识,看什么书好?推荐一下...
  9. 赵立新主持机器人_《档案》第二任主持人赵立新:我是石凉接班人
  10. 这个云代驾,你打几分