Rumah > hujung hadapan web > tutorial js > jQuery怎么做出监控页面ajax请求

jQuery怎么做出监控页面ajax请求

php中世界最好的语言
Lepaskan: 2018-04-24 17:03:39
asal
1848 orang telah melayarinya

这次给大家带来jQuery怎么做出监控页面ajax请求,jQuery做出监控页面ajax请求的注意事项有哪些,下面就是实战案例,一起来看一下。

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

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<!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>

Salin selepas log masuk

其他的相关函数:

$.ajax 中:

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

高版本中:

$.promise
$.when

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

ajax+html轻松实现文件上传有哪些步骤

Ajax使用步骤详解

Atas ialah kandungan terperinci jQuery怎么做出监控页面ajax请求. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan