Jquery Ajax学习实例7 Ajax所有过程事件分析示例

 更新时间:2010年03月23日 00:13:13   作者:  
JQuery在执行Ajax的过程中会触发很多事件。

一、Ajax所有过程事件分析

   JQuery在执行Ajax的过程中会触发很多事件。
   这些事件可以分为两种事件,一种是局部事件(Local),一种是全局事件(Global)。
   局部事件:可以通过$.ajax来调用,你某一个Ajax请求不希望产生全局的事件,则可以设置global:false。
   全局事件:跟click等事件类似,可以绑定到到每一个DOM元素上。
   这些事件的按照事件的触发顺序如下介绍:

 

局部事件(Local) 全局事件(Global)
ajaxStart 全局事件
开始新的Ajax请求,并且此时没有其他ajax请求正在进行。
beforeSend 局部事件
当一个Ajax请求开始时触发。如果需要,你可以在这里设置XHR对象。
ajaxSend 全局事件
请求开始前触发的全局事件。
success 局部事件
请求成功时触发。即服务器没有返回错误,返回的数据也没有错误。
ajaxSuccess 全局事件
全局的请求成功。
error 局部事件
仅当发生错误时触发。你无法同时执行success和error两个回调函数。
ajaxError 全局事件
全局的发生错误时触发。
complete 局部事件
不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件。
ajaxComplete 全局事件
全局的请求完成时触发。
ajaxStop 全局事件
当没有Ajax正在进行中的时候,触发。
注:除了ajaxStart和ajaxStop之外,其他的事件都有3个参数
event, XMLHttpRequest, ajaxOptions
第一个是事件,第二个是XHR对象,第三个参数最有用,是当时调用这个ajax的时候的参数。
对于ajaxError,还有第四个参数thrownError,只有当异常发生时才会被传递。

 

二、Ajax所有过程事件示例

2.1、HTML代码

      <div>

            <input type="button" onclick="BtnSpareClick();" value="PartEvents" />
            <input type="button" onclick="BtnGlobalClick();" value="GlobalEvents" />

      </div>

       <div id="Result">Result</div>
       <div id="Process">Process</div>

2.2、Jquery Ajax脚本 

局部事件(Local)实例 全局事件(Global)实例

  <script language="javascript" type="text/javascript">
            $.ready(function BtnSpareClick() {
                $.ajax({
                    type: "get",
                    url: "https://www.jb51.net/windy2008/rss",
                    data: {},
                    global: false,
                    beforeSend: function(data, status, settings) {
                        $("#Process").text("Part请求开始前");
                        alert($("#Process").text());
                    },
                    success: function(data, status, settings) {
                        $("item", data).each(function(i, domEle) {
                            $("#Result").append("<div>" + $(domEle).children("title").text() + "</div>");
                        });
                        $("#Process").text("Part请求成功时");
                        alert($("#Process").text());
                    },
                    complete: function(data, status, settings) {
                        $("#Process").text("Part请求完成时");
                        alert($("#Process").text());
                    },
                    error: function(data, status, settings) {
                        $("#Process").text("Part请求错误时");
                        alert($("#Process").text());
                    }
                });
            });

</script>

 <script language="javascript" type="text/javascript">

 $.ready(function BtnGlobalClick() {
                $.get("https://www.jb51.net/windy2008/rss", {}, function(data, status, settings)

{
                    $("item", data).each(function(i, domEle) {
                        $("#Result").append("<div>" + $(domEle).children("title").text() + "</div>");
                    });
                });
                $("#Process").ajaxStart(function() {
                    alert($(this).text());
                    $(this).text("开始新的Ajax请求");
                });
                $("#Process").ajaxStop(function() {
                    $(this).text("当没有Ajax正在进行中的时候");
                    alert($(this).text());
                });
                $("#Process").ajaxSend(function() {
                    $(this).text("请求开始前");
                    alert($(this).text());
                });
                $("#Process").ajaxSuccess(function() {
                    $(this).text("请求成功");
                    alert($(this).text());
                });
                $("#Process").ajaxComplete(function() {
                    $(this).text("请求完成时");
                    alert($(this).text());
                });
                $("#Process").ajaxError(function() {
                    $(this).text("请求错误时");
                    alert($(this).text());
                });
            });
        </script>

相关文章

  • jQuery实现常见的隐藏与展示列表效果示例

    jQuery实现常见的隐藏与展示列表效果示例

    这篇文章主要介绍了jQuery实现常见的隐藏与展示列表效果,结合完整实例形式分析了jQuery事件响应及针对页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-06-06
  • 40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二

    40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二

    在网页的首页或图片专题页面很多地方都会用到图片滑动插件来循环切换多张图片,并且用户可以点击左右按钮来切换图片。
    2011-12-12
  • jQuery中even选择器的定义和用法

    jQuery中even选择器的定义和用法

    这篇文章主要介绍了jQuery中even选择器的定义和用法,较为详细的分析了event选择器的语法结构与具体用法,并以一个设置偶数行为蓝色字体的例子总结了其用法与功能特点,需要的朋友可以参考下
    2014-12-12
  • jQuery中clone()函数实现表单中增加和减少输入项

    jQuery中clone()函数实现表单中增加和减少输入项

    这篇文章给大家介绍了jQuery中clone()函数实现表单中增加和减少输入项的实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-05-05
  • 使用jquery给指定的table动态添加一行、删除一行

    使用jquery给指定的table动态添加一行、删除一行

    今天在项目中,刚好用到给指定的table添加一行、删除一行,就直接找google,搜出来的东西不尽如人意,不是功能不好就是千篇一律,简直浪费时间还不讨好,于是乎就自己动手封装个,现就把代码分享出来,避免大伙重复造轮子,如有问题欢迎大伙拍砖指正,千万可别人身攻击
    2016-10-10
  • JQuery PHP图片在线裁剪实例

    JQuery PHP图片在线裁剪实例

    这篇文章主要为大家详细介绍了JQuery+PHP图片在线裁剪实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 浅谈jquery中的each方法$.each、this.each、$.fn.each

    浅谈jquery中的each方法$.each、this.each、$.fn.each

    下面小编就为大家带来一篇浅谈jquery中的each方法$.each、this.each、$.fn.each。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 基于jQuery实现左右图片轮播(原理通用)

    基于jQuery实现左右图片轮播(原理通用)

    这篇文章主要介绍了基于jQuery实现左右图片轮播,实现原理通用可通用,希望能和大家分享一下思路,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 基于jQuery排序及应用实现Tab栏特效

    基于jQuery排序及应用实现Tab栏特效

    这篇文章主要介绍了基于jQuery排序及应用实现Tab栏特效,jquery是基于JavaScript语言写出来的一个框架,它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,但实质上还是js,所以JQuery也属于网页编程语言。下面更多内容需要的小伙伴可以参考一下
    2022-03-03
  • 基于jQuery仿淘宝产品图片放大镜代码分享

    基于jQuery仿淘宝产品图片放大镜代码分享

    今天给大家分享一款基于jQuery淘宝产品图片放大镜代码,这是一款基于jquery.imagezoom插件实现的jQuery放大镜,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-09-09

最新评论