Ajax XMLHttpRequest
Ajax XMLHttpRequest
XMLHttpRequest 对象是 Ajax 的关键。它从 2000 年 7 月发布的 IE 5.5 开始可用,但是直到 2005 年 Ajax 和 Web 2.0 变得流行起来它都没有完全被发觉。
XMLHttpRequest (XHR) 是一个可以用 JavaScript,JScript,VBScript 和其他 Web 浏览器脚本语言传输和操作 XML 数据,以及使用 HTTP 从 Web 服务器上在网页客户端和服务端之间建立一个独立连接通道的 API。
调用 XMLHttpRequest 返回的数据通常都由后端数据库提供。除了 XML 之外,XMLHttpRequest 还可以用来获取其他格式的数据,例如 JSON 或者是纯文本。
我们已经见过好几个讲述如何创建 XMLHttpRequest 对象的例子了。
下面列出的是一些我们必须熟悉的方法和属性。
XMLHttpRequest 方法
1、abort()
取消当前请求。
2、getAllResponseHeaders()
返回整套 HTTP 头字符串。
3、getResponseHeader( headerName )
返回指定 HTTP 头的值。
4、
open( method, URL )
open( method, URL, async )
open( method, URL, async, userName )
open( method, URL, async, userName, password )
指定请求的方法,URL 以及其他可选属性。
方法参数可以是 "GET","POST" 或者 "HEAD" 中的一个值。也可以是其他 HTTP 方法,比如 "PUT" 和 "DELETE"(主要用于 REST 应用程序中)。
"async" 参数指定该请求是否应该异步处理。"true" 意味着脚本处理发生在 send() 方法之后而不必等待响应,而 "false" 意味着继续脚本处理之前脚本要等待响应。
5、send( content )
发送请求。
6、setRequestHeader( label, value )
给 HTTP 头添加一个标签/值对进行发送。
XMLHttpRequest 属性
1、onreadystatechange
一个用于事件的事件处理程序,每个状态变化时都会触发。
2、readyState
readyState 属性定义了 XMLHttpRequest 对象的当前状态。
下面的表格提供了一个 readyState 属性可能值的列表:
状态 | 描述 |
---|---|
0 | 请求还未初始化。 |
1 | 请求已经建立。 |
2 | 请求已经发送。 |
3 | 请求正在处理。 |
4 | 请求已经完成。 |
readyState = 0
在 XMLHttpRequest 对象创建之后,但是在我们调用 open() 方法之前。
readyState = 1
在调用 open() 方法之后,但是在调用 send() 之前。
readyState = 2
在我们调用 send() 之后。
readyState = 3
在浏览器建立与服务器的通信之后,但是在服务器完成响应之前。
readyState = 4
在请求完成以及响应数据已经完全从服务器接受之后。
3、responseText 返回响应字符串。
4、responseXML
返回响应的 XML 数据。这个属性返回一个 XML 文档对象,我们可以使用 W3C DOM 节点树方法和属性检查并解析它。
5、status
返回状态数字(比如 404 表示 "Not Found" 或者 200 表示 "OK")。
6、statusText
返回状态字符串(比如 "Not Found" 或者 "OK")。
更多建议: