zoukankan      html  css  js  c++  java
  • ajax全局事件

    作用:当你的页面存在很多ajax事件的话,我们有一些信息是公共的,可以复用,我们可以用全局事件进行编写,因为每一个ajax事件调用,都会触发ajax全局事件。

      jquery的ajax方法的全部全局事件:

        ajaxStart:ajax请求开始前

        ajaxSend:ajax请求时

        ajaxSuccess:ajax获取数据后

        ajaxError:ajax请求发生错误后

        ajaxComplete:ajax请求完成时

        ajaxStop:ajax请求停止后

    不使用全局事件的做法是:给单个ajax加一个global:false;

      1.ajaxStart

        ajaxStart()方法:每当一个Ajax请求即将发送,jQuery检查是否有任何其他响应过程中的Ajax请求(注:未完成的请求)。如果没有检查到,jQuery就会触发ajaxStart事件,在这个时间点所有处理函数都会使用.ajaxStart()方法注册并执行。如果global选项设置为false,调用$.ajax()$.ajaxStep()方法将不会被触发。

    $(document).ajaxStart(function() {
       $( "#loading" ).show();//等待画面
     });

      2.ajaxSend

        .ajaxSend()方法:每当一个Ajax请求即将发送,jQuery就会触发ajaxSend事件,在这个时间点所有处理函数都会使用.ajaxSend()方法注册并执行。如果global选项设置为false,调用$.ajax()$.ajaxStep()方法将不会被触发。

    $(document).ajaxSend(function(event, request, settings) {
        $( "#msg" ).append( "<li>Starting request at " + settings.url + "</li>" );
    });

      3.ajaxSuccess

        .ajaxSuccess()方法:每当一个Ajax请求成功完成,jQuery就会触发ajaxSuccess事件,在这个时间点所有处理函数都会使用.ajaxSuccess()方法注册并执行。如果global选项设置为false,调用$.ajax()$.ajaxStep()方法将不会被触发。

    $(document).ajaxSuccess(function(event, request, settings) {
       $( "#msg" ).append( "<li>Successful Request!</li>" );
     });

      4.ajaxError

        .ajaxError()方法:每当一个Ajax请求出错时,jQuery就会触发ajaxError事件,在这个时间点所有处理函数会使用.ajaxError()方法注册并执行。如果global选项设置为false,调用$.ajax()$.ajaxStep()方法将不会被触发。

    $(document).ajaxError(function(event, request, settings) {
      $( "#msg" ).append( "<li>Error requesting page " + settings.url + "</li>" );
    });

      5.ajaxComplete

        .ajaxComplete()方法:每当一个Ajax请求完成,jQuery就会触发ajaxComplete事件,在这个时间点所有处理函数会使用.ajaxComplete()方法注册并执行。如果global属性被设置为false,当完成Ajax请求后不会调用这个方法。

    $(document).ajaxComplete(function(event,request, settings) {
     $( "#msg" ).append( "<li>请求完成。</li>" );
     });    

      6.ajaxStop

        .ajaxStop()方法:每当一个Ajax请求完成,jQuery检查是否有任何其他响应过程中的Ajax请求(注:未完成的请求)。如果都执行完成,jQuery就会触发ajaxStop事件,在这个时间点所有处理函数都会使用.ajaxStop()方法注册并执行。如果一个未处理完成的Ajax请求用beforeSend回调函数返回false取消,ajaxStop事件也被触发。如果global选项设置为false,调用$.ajax()$.ajaxStep()方法将不会被触发。

    $(document).ajaxStop(function() {
          $( "#loading" ).hide();
    });ajax
  • 相关阅读:
    Error no matching function for call to 'std::exception::exception(const char [15])'
    Difference between 'SAME' and 'VALID' padding
    使用 RamMap 清理内存 How to Use RamMap to Empty System Working Set
    Ubuntu中网络配置interfaces与界面网络配置NetworkManager
    ifup / ifdown eth0 / eno1 reports unknown interface when it exists!
    Tab Key not working when using Xfce remote desktop
    Batch Norm、Layer Norm、Weight Norm与SELU
    IIS 域名 带参数 设置重定向
    C# 切换到二级域名,使用Cookie
    web服务器 双网卡 路由 设置
  • 原文地址:https://www.cnblogs.com/gopark/p/10769490.html
Copyright © 2011-2022 走看看