|
|
|
|
ajax入门简明教程---XMLHTTPRequest对象 |
来源:互联网 作者: 发布时间:2008-05-30
|
当前ajax技术作为web2.0的技术主体,已经是非常流行了。现在的很多网站都已做ajax为时尚,因为它的页面响应速度快,用户体验高啊,每次转换页面几乎就是不刷新。那么是什么东西使这ajax的响应这么快呢?是XMLHTTPRequest对象。XMLHTTPRequest对象是ajax技术的核心,没有XMLHTTPRequest对象就相当于没有ajax,它是最重要的一个对象。下面我们来介绍一下这个东西。 www.phperz.com
XMLHTTPRequest是XMLHTTP组件的对象,通过XMLHTTPRequest可以像桌面应用程序一样只同服务器进行数据层面的信息交换,而不用刷新页面,也不用将数据处理的一大堆事情交给服务器去做,客户端或是浏览器能做的就帮服务器分担一点,这样多好啊。用户体验高了,服务器负担还减轻了不少。 php程序员站
XMLHTTPRequest的应用: var xmlhttp = new XMLHTTPRequest(); 用new关键字创建XMLHTTPRequest的对象 在微软的IE浏览器里XMLHTTP组件有区别 var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP); var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP); 微软用Active X来支持XMLHttp组件 列举一个跨浏览器的例子:
以下为引用的内容: <script language=”javascript”> var XHR; //创建XMLHTTPRequest对象 function creatXMLHTTPRequest() { if (window. XMLHTTPRequest) { //firefox浏览器 phperz.com XHR = new XMLHTTPRequest(); } ese if (window.ActiveObject) { //IE浏览器 try { XHR = new ActiveXObject(“Msxml2.XMLHTTP”); } catch (e){ try { XHR = new ActiveXObject(“Microsoft.XMLHTTP”); } catch (e) {} }}} </script> |
XMLHTTPRequest 是个对象,学过一些面向对象编程的同学能知道,每个对象里有属性和方法。Javascript也是面向对象的语言,这里面的对象同样有着它的属性和方法。 我们先来看看它的属性 phperz.com
www~phperz~com
属性 |
作用 |
onreadystatechange |
这是个事件,在状态改变时触发 |
readyState |
对象状态 把一个HTTP请求发送到服务器时将经历若干种状态:一直等待直到请求被处理;然后,它才接收一个响应。这样以来,脚本才正确响应各种状态-XMLHttpRequest对象暴露一个描述对象的当前状态的readyState属性。 0 未初始化 1 读取中 2 已读取中 3 交互中 4 完成
www~phperz~com
|
ResponseText |
这个responseText属性包含客户端接收到的HTTP响应的文本内容,表示为一个字符串。当readyState值为0、1或2时,responseText包 含一个空字符串。当readyState值为3(正在接收)时,响应中包含客户端还未完成的响应信息。当readyState为4(已加载)时,该 responseText包含完整的响应信息。 |
ResponseXML |
这个跟上一个很像,它返回一个兼容DOM的XML文档对象。 |
status |
返回http协议的状态码,如404是URL错误200交互成功。 |
statusText |
服务器返回的状态文本信息。 |
www~phperz~com
再来看看XMLHTTPRequest对象的方法 phperz.com
方法 |
作用 |
abort() php程序员站
|
用它来停止当前请求 php程序员站
|
open(“方法名”,”URL”) php程序员站
|
方法名是指,请求的方法get或者是post 这个方法可以理解为准备一个请求。 phperz.com
|
send(content) php程序员站
|
仅当readyState值为1时,你才可以调用send()方法;否则的话,XMLHttpRequest对象将引发一个异常。 php程序员站
|
setRequestHeader() phperz.com
|
该setRequestHeader(DOMString header,DOMString value)方法用来设置请求的头部信息。当readyState值为1时,你可以在调用open()方法后调用这个方法;否则,你将得到一个异常。 www.phperz.com
|
getResponseHeader() www.phperz.com
|
getResponseHeader(DOMString header,value)方法用于检索响应的头部值。 www~phperz~com
|
getAllResponseHeaders() www.phperz.com
|
把HTTP请求的所有响应首部作为键/值对 phperz~com
|
phperz.com
不过现在很多框架像是dwr。都已经尽力的简化XMLHTTPRequest对象的操作,也就是说现在开发ajax时候,大部分已经不需要自己写XMLHTTPRequest,而是一些框架帮着你做了。不过要想学好一门技术从基础学起也是很必要的。
|
|
[收藏此页] [打印本页] [返回顶部] |
|
|