XMLHttpRequest对象详解二

2010-3-5 杜世伟 Ajax

5)        使用readyState属性判断请求状态
onreadystatechange
事件是在readyState属性发生改变时触发的。readyState的值表示了当前请求的状态,那么,在事件处理程序中就可以根据这个值的不同来进行不同的处理。
readyState
值的含义
0------
对象已建立,但 还未初始化,这时尚未调用open方法
1------
正在加载,open方法已调用,尚未调用send方法
2------
已加载,send方法已调用,其他数据未知
3------
请求发送中
4------
请求发送完成。
readyState
的值仅表 示了请求的状态,并没有表示请求的结果

6)        使用status属性判断请求的结果
status
属性储存服务器返 回的http请求响应代码,它表示了请求的结果。
status
值的含义:
200------
请求成功
400------
错误的请求
404------
请求资源未 找到
500------
内部服务器 错误
在请求完成的情况下,可以使用status判断请求的结果。在Ajax开 发中,最常用的是200这个响应代码。

7)        使用responseText属性获得返回的文本
当服务器成功处理了请求并返回后,可以使用XMLHttpRequest对象的responseText属性来获取返回的文本结果。
例如: readtxt.html,a.txt,b.txt

getXml.html, myXML.xml

8)        使用responseXML属性获取返回的XML文档
使用responseText属性获取返回的纯文本时服务器无需特殊的操作。而使用responseXML属性时服务器返回的必须是一个XML格式的文档。这时要求返回的http头 的content-type设置为text/XML。若请求的后缀为xml,服务器会自动将返回结果的http头的content-type设置为“text/XML”。
使用responseXML属性获取的结果实际上是dom模型 所规定的一个文档对象。可以对这个文档对象进行操作获取所需要的内容。
值得注意的是,responseXML属性必须在服务器上运行,因为只有通过服务器通过的MIME类 型才能判断返回的内容是否是XML文档
例如:parsexml.htmla.xml

parsexml2.html, myXML.xml

9)        使用abort方法取消一个请求
当使用XMLHttpRequest向服务器提交一个请求后,如果由于某种原因要取 消请求,可以使用abort方法。



11)   发送请求参数
get
post方 法的区别在于,post方法将参数串放在请求体中发送,get方法将参数直接加到url中发送。,post方 法为了确保服务器知道请求体中有请求参数,需要先调用XMLHttpRequestsetRequestHeader方法,将Content-Type值设为application/x-www-form-urlencodedXMLHttpRequest.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”;)。然后使用send方法发送请求。
例如:getAndPostExample.htmlGetAndPostExample.java
为什么要把时间戳追加到目标url上?因为在某些情况下,有些浏览器会 把多个XMLHttpRequest请求的结果缓存在一个url。把当前时间戳追加到url的最后,就能确保url的唯一性,从而避免浏览器缓存的结果。

Powered by emlog 沪ICP备2023034538号-1