• 全局 Ajax 事件处理器


    jQuery中将Ajax请求和响应分成了若干(5)个阶段 并且允许开发者在Ajax请求和响应的不同阶处理不同的逻辑,

    这些方法用于注册事件处理器,用来处理页面上的任何 Ajax 请求,当某些事件触发后,这些事件处理器被调用。例如正在加载的页面的loading图片...

    这五个方法分别是:

     

        .ajaxStart()            准备发送

        .ajaxSend()                请求发出 

        .ajaxSuccess()           请求成功 

        .ajaxError()           请求失败

        .ajaxComplete()         任一单个Ajax请完成时会触发 

        .ajaxStop()            某一页所有Ajax请求都完成时才触发

    详细描述:

    • .ajaxStart()  : 在AJAX 请求刚开始时执行一个处理函数。每当一个Ajax请求即将发送,jQuery检查是否有任何其他响应过程中的Ajax请求(注:未完成的请求)。如果没有检查到,jQuery就会触发ajaxStart事件,在这个时间点所有处理函数都会使用.ajaxStart()方法注册并执行。

        当Ajax请求开始发送时显示一个信息 (没有一个Ajax请求是已经激活的).

    $('.btn').ajaxStart(function() {
       $( "#loading" ).show();
     });
    • .ajaxSend()  : 在Ajax请求发送之前绑定一个要执行的函数。每当一个Ajax请求即将发送,jQuery就会触发ajaxSend事件,在这个时间点所有处理函数都会使用.ajaxSend()方法注册并执行。

       例:当Ajax请求即将发送前显示一个信息。

    $('.btn').ajaxSend(function(event, request, settings) {
        $( "#msg" ).append( "<li>Starting request at " + settings.url + "</li>" );
    });
    • .ajaxSuccess() : 绑定一个函数当 Ajax 请求成功完成时执行。每当一个Ajax请求成功完成,jQuery就会触发ajaxSuccess事件,在这个时间点所有处理函数都会使用.ajaxSuccess()方法注册并执行。

        例:当Ajax请求成功完成时,显示一个信息。

    $('.btn').ajaxSuccess(function(event, request, settings) {
          $( "#msg" ).append( "<li>Successful Request!</li>" );
          });
    • .ajaxError() : Ajax请求出错时注册一个回调处理函数。每当一个Ajax请求出错时,jQuery就会触发ajaxError事件,在这个时间点所有处理函数会使用.ajaxError()方法注册并执行。

        例:当Ajax请求失败后显示一个信息.

    $('.btn').ajaxError(function(event, request, settings) {
      $( "#msg" ).append( "<li>Error requesting page " + settings.url + "</li>" );
    });
    • .ajaxComplete()  当Ajax请求完成后注册一个回调函数。每当一个Ajax请求完成,jQuery就会触发ajaxComplete事件,在这个时间点所有处理函数会使用.ajaxComplete()方法注册并执行。

        例:当Ajax请求完成后显示一个信息。

    $('.btn').ajaxComplete(function(event,request, settings) {
     $( "#msg" ).append( "<li>Request Complete.</li>" );
     });
    • .ajaxStop():在AJAX 请求完成时执行一个处理函数。每当一个Ajax请求完成,jQuery检查是否有任何其他响应过程中的Ajax请求(注:未完成的请求)。如果都执行完成,jQuery就会触发ajaxStop事件,在这个时间点所有处理函数都会使用.ajaxStop()方法注册并执行。如果一个未处理完成的Ajax请求用beforeSend回调函数返回false取消,ajaxStop事件也被触发

        例:在Ajax请求停止后隐藏加载信息

    $('.btn').ajaxStop(function() {
          $( "#loading" ).hide();
    });

    注:监听不同阶段的元素可以是任意DOM元素,但是从版本1.8开始只能绑订到document

    此随笔参照 jQuery API 中文文档

  • 相关阅读:
    UIStoryBoard 中修改控件borderColor
    iOS自定义AlertView 与 ActionSheet 遮罩提示+弹出动画
    iOS开发 UIWebView+JavaScript 交互总结
    【注入攻击】SQL注入(不完整总结)
    [内存溢出]栈溢出基础版
    [Windows驱动开发]之内存管理
    [找工作]程序员面试宝典【笔记】(part 1)
    [Windows安装]安装程序无法创建新的系统分区,也无法定位现有系统分区
    M1卡分析
    [逆向/壳]脱壳方法
  • 原文地址:https://www.cnblogs.com/bfc0517/p/7206387.html
Copyright © 2020-2023  润新知