Ajax使用步骤

来源:互联网 发布:景安备案域名出售 编辑:程序博客网 时间:2024/06/05 08:55
项目中包括一个.aspx页面和一个getTime.ashx页面。

getTime.ashx
<%@ WebHandler Language="C#" Class="Handler" %>using System;using System.Web;public class Handler : IHttpHandler {        public void ProcessRequest (HttpContext context) {        context.Response.ContentType = "text/plain";        context.Response.Write(DateTime.Now.ToString());    }     public bool IsReusable {        get {            return false;        }    }}


.aspx
注:以下代码都是放在...的位置
<script type="text/javascript">        function loadXMLDoc()  //点击按钮调用函数        {             ....        }    </script>



一、创建异步对象实例

创建 XMLHttpRequest 对象的语法:
var xmlhttp = new XMLHttpRequest();

老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

为了应对所有的现代浏览器:
var xmlhttp;if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari  xmlhttp=new XMLHttpRequest();  }else  {// code for IE6, IE5  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }


二、利用异步对象的open方法赋值相应的参数
xmlhttp.open("GET", "getTime.ashx", true);   //调用文件的url和当前的.aspx页面在同一根目录下

三、设置回掉参数
xmlhttp.onreadystatechange = function(){if (xmlhttp.readyState==4 && xmlhttp.status==200)  //表示当前请求已经完成并正常响应,否则运行时会出现很多次alert{alert(xmlhttp.responseTsxt);}}
其中,
onreadystatechange属性:每次状态改变都会触发这个事件的处理器;
readystate属性:用来表示请求的状态
            0----表示未初始化,次数对象已建立,但是未初始化(没有调用open()方法)
            1----表示正在加载,此时对象已建立,但是为调用send()
            2----表示已经加载,send()已调用,但是当前的状态以及http头未知
            3----表示交互中,接收了部分数据,此时不能获取数据 因为响应和报文头不全
            4----表示完成。
status属性:
            200----表示服务器能够正常响应
四、利用send()方法将第2步设置好的参数发出请求
xmlhttp.send();



本质是浏览器正在做该做的事,使唤XMLHttpRequest这个对象去执行.ashx中的操作。执行之后返回

原创粉丝点击