1NetMedia_Blog

<< 一个CSS的问题__取得样式属性  类别: Ajax 立体错觉——街头艺术 >>
建立Ajax对象
[ 日期: 2007-05-22 4:59:11 PM | 作者: xionchan | 来源: pjhome | 人气:30073 | 晴天 | 心情: +2 ] 字号: 【
急速栏目链接:
标签:
XMLHttpRequest 是 Ajax 的关键技术.Javascript也是靠 XMLHttpRequest 来获取XML的. 现在我们来看看如何建立 XMLHttpRequest 对象,然后读取XML.

Mozilla和IE同样支持 XMLHttpRequest ,不过在使用过程中是不一样的.

- Mozilla 浏览器自带了 XMLHttpRequest 接口
new XMLHttpRequest()

- 而 IE 需要使用ActiveX对象来建立.
new ActiveXObject("Microsoft.XMLHTTP")



XMLHttpRequest 的常用属性和方法

属性
onreadystatechange
readyState
responseText
responseXML
status
statusText

方法
abort()
getAllResponseHeaders()
getResponseHeader("<headerName>")
open("<method>", "URL"[,asyncFlag[, "<username>"[,"<password>"]]])
send(content)
setRequestHeader("<name>", "<value>")

下面开始我们的程序,为了方便使用 XML 我把操作XML的方法用一个 function 封装起来



function XMLHttpObject(url,Syne){
var XMLHttp=null
var o=this
this.url=url
this.Syne=Syne

this.sendData = function()
{
if (window.XMLHttpRequest) {
XMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
with(XMLHttp){
open("GET", this.url, this.Syne);
onreadystatechange = o.CallBack;
send(null);
}
}

this.CallBack=function()
{
if (XMLHttp.readyState == 4) {
if (XMLHttp.status == 200) {
//Xml加载成功后的操作
}
}
}

this.getText=function()
{
if (XMLHttp==null) {return "还没加载 XMLHttpRequest"}
if (XMLHttp.readyState==4) {return XMLHttp.responseText}
return XMLHttp.readyState
}
}
- 现在我们根据上面写好的Function建立一个XML对象
var XMLDoc1=new XMLHttpObject("1.xml",true)

- 发送数据,这个过程将调用 XMLHttpRequest 来对 1.xml 进行request
XMLDoc1.sendData()

- 当加载完成后,可以用下面的方法获取 XML 文档的文本内容了
XMLDoc1.getText()

这样 XMLHttpRequest 建立基本上完成了.
   
Rss Comment  

没有相关评论

发表评论
请先注册,才能发表评论!
- 注册 -