下面是个Jquery Ajax学习实例7 Ajax所有过程事件分析示例教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
【 tulaoshi.com - Web开发 】
一、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,只有当异常发生时才会被传递。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)
二、Ajax所有过程事件示例
2.1、HTML代码
div
input type="button" onclick="BtnSpareClick();" value="PartEvents" /
input type="button" onclick="BtnGlobalClick();" value="GlobalEvents" /
/div
   divResult/div
   divProcess/div
2.2、Jquery Ajax脚本 局部事件(Local)实例全局事件(Global)实例
  script language="javascript" type="text/javascript"
$.ready(function BtnSpareClick() {
  $.ajax({
  type: "get",
  url: "http://www.poluoluo.com/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.poluoluo.com/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
来源:http://www.tulaoshi.com/n/20160219/1603618.html
看过《Jquery Ajax学习实例7 Ajax所有过程事件分析示例》的人还看了以下文章 更多>>