2006年8月13日

学习 Ajax Atlas 的应用

第一章 :Ajax 介绍

什么是 Ajax?

在这方面 , 网上已经有好多的介绍了 , 相信大家都有好都的了解了 ………

Ajax 并不是一种技术。它实际上是几种已经在各自领域大行其道技术的强强结合。 Ajax 混合了:
* 基于XHTML/CSS
*
DOM Document Object Model 实现动态显示与交互
*
通过 XML XSLT 进行数据交换及处理
*
使用 JavaScript 整合上述技术

直观一点的说 Ajax 能够实现不刷新浏览器窗口(当然更不用安装额外的插件)而满足用户的操作,现在一些看上去很 Cool 的网站,很多是用这项技术实现的,其中包括: orkut Gmail Google Group Google Suggest Google Maps Flickr A9.com 等。 2SIMPLE Co-mment 系统虽然没有用到 XML/XSLT ,其理念已经暗合容 Ajax ,实现了不刷新网页提供动态内给用户 .

XMLHttpRequest 最早是在 IE5 中以 ActiveX 组件形式实现的 . 当前 ,FireFox,Safari,Opera,Konqueror Internet Explorer 都以相关的方式实现了 XMLHttpRequest 对象的行为 .

 

创建 XMLHttpRequest 对象的一个实例

Var xmlHttp

Function createXMLHttpRequest()

{

 if(widows.ActiveXObject)

{

   xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);

}

Else if(widow.XMLHttpRequest)

{

   xmlHttp=new XMLHttpRequest();

}

}

 

方法和属性:

abort

取消当前请求

getAllResponseHeaders

获取响应的所有 http

getResponseHeader

从响应信息中获取指定的 http

open

创建一个新的 http 请求,并指定此请求的方法、 URL 以及验证信息 ( 用户名 / 密码 )

send

发送请求到 http 服务器并接收回应

setRequestHeader

单独指定请求的某个 http

 

abort

取消当前请求

语法

						
								oXMLHttpRequest.abort();
						
				

备注

调用此方法后,当前请求返回UNINITIALIZED 状态。

 

readyState

返回 XMLHTTP 请求的当前状态

语法

						
								lValue = oXMLHttpRequest.readyState;
						
				

Example

						
								var XmlHttp;
						
				
						
								XmlHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
						
				
						
								
										 
								
						
				
						
								function send() {
						
				
						
								
										   XmlHttp.onreadystatechange = doHttpReadyStateChange;
						
				
						
								
										   XmlHttp.open("GET", "http://localhost/sample.xml", true);
						
				
						
								
										   XmlHttp.send();
						
				
						
								}
						
				
						
								
										 
								
						
				
						
								function doHttpReadyStateChange() {
						
				
						
								
										   if (XmlHttp.readyState == 4) {
						
				
						
								
										      alert("Done");
						
				
						
								
										   }
						
				
						
								}
						
				

备注

变量,此属性只读,状态用长度为 4 的整型表示 . 定义如下:

0 ( 未初始化 )

对象已建立,但是尚未初始化(尚未调用 open 方法)

1 ( 初始化 )

对象已建立,尚未调用 send 方法

2 ( 发送数据 )

send 方法已调用,但是当前的状态及 http 头未知

3 ( 数据传送中 )

已接收部分数据,因为响应及 http 头不全,这时通过 responseBody responseText 获取部分数据会出现错误,

4 ( 完成 )

数据接收完毕 , 此时可以通过通过 responseBody responseText 获取完整的回应数据

参考

open 方法
responseBody 属性
responseText 属性
send 方法
status 属性
statusText 属性

更多信息大家可以到 : http://www.xmlhttp.cn/manual/xmlhttprequest.html

javascript的调试你可以到狗狗里找"Script Debugger