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
取消当前请求
语法
备注
调用此方法后,当前请求返回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 "