博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.Net+Jquery.Ajax详解7-全局Ajax事件
阅读量:4050 次
发布时间:2019-05-25

本文共 2106 字,大约阅读时间需要 7 分钟。

 

目录(已经更新的文章会有连接,从725日开始,每23天更新一篇):

(2012.08.20发,结束啦!)

 

全局Ajax事件是一系列伴随Ajax请求发生的事件.

 

主要有如下事件:

ajaxComplete( callback ) AJAX 请求完成时执行函数

ajaxError( callback ) AJAX 请求发生错误时执行函数

ajaxSend( callback ) AJAX 请求发送前执行函数

ajaxStart( callback ) AJAX 请求开始时执行函数

ajaxStop( callback ) AJAX 请求结束时执行函数

ajaxSuccess( callback ) AJAX 请求成功时执行函数

 

 

在学习$.ajaxSetup,我们知道默认optionsglobal属性为true,代表发送ajax请求时,将触发这些全局事件。

我们可以通过$.ajaxSetup将默认options的global属性设置为false来取消全局Ajax事件的触发.

 

这些事件(除去ajaxStartajaxStop)的回调函数都包含3个参数

event - 包含 event 对象

xhr - 包含 XMLHttpRequest 对象

options - 包含 AJAX 请求中使用的选项

 

 我们通过一个实例来说明这些事件在什么时候发生。这样大家理解起来更直观一些。

实例——客户端

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JqueryAjaxGlobalEvent.aspx.cs" Inherits="JqueryAjaxTest.JqueryAjaxGlobalEvent" %>    jquery ajax test             
从上到下依次发生:

服务端——

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace JqueryAjaxTest.Data{    public partial class GetMethodInfo : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            string param = "";            //获取参数            if (!String.IsNullOrEmpty(HttpContext.Current.Request["param"]))            {                param = HttpContext.Current.Request["param"];            }                        //清空缓冲区            Response.Clear();            //将字符串写入响应输出流            Response.Write("Http请求的方式为:"+Request.HttpMethod.ToUpper()+"; 传递过来的参数为:"+param);            //将当前所有缓冲的输出发送的客户端,并停止该页执行            Response.End();        }    }}

注意ajaxSuccess和ajaxComplete的区别:

ajaxSuccess: 当请求成功时触发该事件,回调函数会得到参数,一个参数的属性status==200。

ajaxComplete:当请求完成时触发该事件,回调函数会得的这个属性status==404、403、302...。与 ajaxSuccess() 不同,通过 ajaxComplete() 方法规定的函数会在请求完成时运行,即使请求并未成功。

 

我们再原生的AJax中常常这么写,

 xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 && xmlhttp.status==200)

    {

    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

    }

  }

当 readyState 等于 4 且状态为 200 时,表示响应已就绪。当status等于200时,也就是我们的ajaxsuccess事件触发的时刻。

 

啊,这个系列文章写到7啦,还有3篇,继续加油!

转载地址:http://lqdci.baihongyu.com/

你可能感兴趣的文章
项目经理培训后的一点感概
查看>>
vc学习之窗口大小发生变更时使控件自动摆放到合适的位置
查看>>
Oracle 获取系统日期时间,导出数据库
查看>>
黄巢的菊花,非常喜欢,贴出来共享一下
查看>>
在光纤环网中的b/s与c/s的比对
查看>>
根据程序名称和程序路径判断程序是否启动
查看>>
史记翻译-汉初三杰-萧何-萧相国世家第二十三
查看>>
史记翻译-汉初三杰-张良-留侯世家第二十五
查看>>
史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
查看>>
帝王封赏之道和老板的封赏之道
查看>>
工作分解结构在软件开发中的应用
查看>>
关于系统崩溃后的Oracle恢复
查看>>
遭遇蚊子的獠牙,想起一种叫黄鸡婆的小虫子
查看>>
使用批处理命令给客户更新oracle数据库
查看>>
回首考研路:那年,那月,还有那条孤独的考研狗
查看>>
GCD小结
查看>>
IOS 第三方库介绍
查看>>
iPhone架构xmpp聊天工具 -xmpp协议初识《一》
查看>>
iOS提交后申请加急审核
查看>>
iOS7单元测试
查看>>