Jquery Ajax学习实例7 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: "http://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("http://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>

(0)

相关推荐

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

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

  • Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用

    一.WebService.asmx: 处理业务数据,在GetDataSet()方法中产生DataSet(XML)数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [WebMethod] public DataSet GetDataSet() { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("Name", Type.GetType("Sys

  • Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据

    一.WebService.asmx 处理业务数据,在GetWhether方法中产生天气情况数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { public WebService () { //如果使用设计的组件,请取消注释以下行 //InitializeCompo

  • Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用

    一.WebService.asmx: 处理业务数据,在GetPerson方法中产生Person实体类数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [WebMethod] public Person GetPerson(string name, int age, string address) { Person p = new Person() { Name = name, Age = age, Address = address }; return p; }

  • Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用

    一.WebService.asmx: 处理业务数据,在GetList方法中产生泛型集合数据,供JqueryRequest.aspx调用,代码如下: [WebMethod] 复制代码 代码如下: public List<string> GetList() { List<string> list = new List<string>(); list.Add("aaaaaaaaaaaa"); list.Add("bbbbbbbbbbbb"

  • Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据

    一.AjaxJson.aspx 处理业务数据,产生JSon数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { string u = Request["UserName"]; string p = Request["Password"]; string output = string.Format("'UserName

  • Jquery Ajax学习实例 向页面发出请求,返回XML格式数据

    一.AjaxSample.aspx 处理业务数据,产生XML数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { string uid = Request.QueryString["username"]; string pwd = Request.QueryString["password"]; Response.Content

  • Jquery工作常用实例 使用AJAX使网页进行异步更新

    AJAX = Asynchronous JavaScript and XML.,是一种创建快速动态网页的技术. AJAX 通过在后台与服务器交换少量数据的方式,允许网页进行异步更新.这意味着有可能在不重载整个页面的情况下,对网页的一部分进行更新. 通过 jQuery AJAX,你可以直接把远程数据载入网页被选HTML元素中. Jquery Ajax常用的函数有三种,分别是: $.post(url,data,callback,type):使用 HTTP POST 来加载远程数据: $.get(ur

  • Jquery 插件学习实例1 插件制作说明与tableUI优化

    一. 先对jQuery制作方式,jQuery为开发扩展提拱了两个方法,分别是: jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. 1.1.jQuery.fn.extend(object): 可以参靠jquery参考手册的连个例子: 复制代码 代码如下: $.fn.extend({ check: function() { return this.each(function()

  • jquery移除、绑定、触发元素事件使用示例详解

    复制代码 代码如下: unbind(type [,data])     //data是要移除的函数$('#btn').unbind("click"); //移除click$('#btn').unbind(); //移除所有 对于只需要触发一次的,随后就要立即解除绑定的情况,用one() 复制代码 代码如下: $('#btn').one("click",function(){.......}); 触发操作trigger() 方法触发被选元素的指定事件类型. 复制代码

随机推荐