开发学院,分享开发教程和最新动态

AJAX XMLHttpRequest对象

AJAX XMLHttpRequest对象

  XMLHttpRequest对象是AJAX的关键。 从ie5.5开始它就内置于浏览器中,但直到2005年AJAX和web2.0流行起来才被充分利用。

  XMLHttpRequest(XHR)是一个API,它可以被JavaScript、jscript、VBScript和其他web浏览器脚本语言使用,以便跟服务器进行传输和操作数据,并在网页客户端和服务器端之间建立独立的连接通道。

  从XMLHttpRequest调用返回的数据通常由后端数据库提供,除了XML之外,XMLHttpRequest还支持其他格式数据,例如JSON或纯文本。

您已经看到了关于如何创建XMLHttpRequest对象的示例。

 下面列出的是您必须熟悉的一些方法和属性。

XMLHttpRequest方法

abort()

取消当前请求。

getAllResponseHeaders()

以字符串的形式返回完整的http报头。

getResponseHeader(headername)

返回指定的http标头的值。

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意味着脚本在继续脚本处理之前等待响应。

send(content)

发送请求。

setRequestHeader(label,value)

将包含label/value的键值对添加到要发送的http头。

XMLHttpRequest 属性

onreadystatechange

在每个状态变化时触发的事件的事件处理程序。

readystate

readystate属性定义xmlhttprequest对象的当前状态。

下表提供了readystate属性的可能值的列表:

State Description

0 请求未初始化。

1 请求已建立。

2 请求已发送。

3 请求正在处理中。

4 请求完成。

readyState = 0 在创建XMLHttpRequest 对象之后,但是在调用open()方法之前。

readyState = 1 在调用open()方法之后,在调用send()之前。

readyState = 2 在你调用send()之后。

readyState = 3 在浏览器与服务器建立通信后,在服务器完成响应之前。

readyState = 4 请求完成后,响应数据已从服务器完全接收。

responsetext

  将响应作为字符串返回。

responsexml

  返回响应作为XML。此属性返回一个XML文档对象,它可以使用W3CDOM节点树方法和属性来检查和分析。

status

  返回一个数字的状态(例如404或者200)。

statustext

  将状态作为字符串返回(例如"Not Found"或"OK")。