源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-09-22 00:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Jquery Ajax学习实例7 Ajax所有过程事件分析示例
一、Ajax所有过程事件分析    JQuery在执行Ajax的过程中会触发很多事件。    这些事件可以分为两种事件,一种是局部事件(Local),一种是全局事件(Global)。    局部事件:可以通过$.ajax来调用,你某一个Ajax请求不希望产生全局的事件,则可以设置global:false。    全局事件:跟click等事件类似,可以绑定到到每一个DOM元素上。    这些事件的按照事件的触发顺序如下介绍:  
局部事件(Local) 全局事件(Global)
[b]ajaxStart [/b]全局事件 开始新的Ajax请求,并且此时没有其他ajax请求正在进行。
[b]beforeSend [/b]局部事件 当一个Ajax请求开始时触发。如果需要,你可以在这里设置XHR对象。 [b]ajaxSend [/b]全局事件 请求开始前触发的全局事件。
[b]success [/b]局部事件 请求成功时触发。即服务器没有返回错误,返回的数据也没有错误。 [b]ajaxSuccess [/b]全局事件 全局的请求成功。
[b]error [/b]局部事件 仅当发生错误时触发。你无法同时执行success和error两个回调函数。 [b]ajaxError [/b]全局事件 全局的发生错误时触发。
[b]complete [/b]局部事件 不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件。 [b]ajaxComplete [/b]全局事件 全局的请求完成时触发。
[b]ajaxStop [/b]全局事件 当没有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.1sucai.cn/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.1sucai.cn/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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部