您好,欢迎访问一九零五行业门户网

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

一、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代码
result
process
2.2、jquery ajax脚本 
局部事件(local)实例 全局事件(global)实例
$.ready(function btnglobalclick() {
                $.get(http://www.jb51.net/windy2008/rss, {}, function(data, status, settings)
{
                    $(item, data).each(function(i, domele) {
                        $(#result).append(
+ $(domele).children(title).text() +
);
                    });
                });
                $(#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());
                });
            });
其它类似信息

推荐信息