XMLHttpRequest对象是AJAX的关键。一直以来的Internet Explorer 5.5是在2000年7月发布的,但之前不能完全被发现使用,人们开始于2005年谈谈AJAX和Web 2.0.
XMLHttpRequest(XHR)可以将JavaScript,JScript,VBScript中和其他网页浏览器脚本语言使用来传输和处理XML数据到和从Web服务器使用HTTP的API,建立一个网页的客户端的端之间的独立连接通道和服务器端.
从XMLHttpRequest调用返回的数据,往往会提供后端数据库。除了XML,XMLHttpRequest的可用于获取其他格式的数据,例如JSON或者甚至纯文本.
你已经看到了几个例子,如:如何创建一个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中的应用),是可能的
“异步”参数指定是否应请求异步处理或没有。 “true”是指进行发送后,脚本处理send()方法,无需等待响应,“false”的手段,等待脚本的脚本处理,然后再继续响应.
send( content )
发送请求.
setRequestHeader( label, value )
标签/值对添加到要发送的HTTP头.
onreadystatechange
为每个状态变化触发的事件,在事件处理程序.
readyState
readyState属性定义了XMLHttpRequest对象的当前状态.
这里的readyState属性格式的可能值:
State | Description |
---|---|
0 | 未初始化请求 |
1 | 请求已建立 |
2 | 请求已发送 |
3 | 请求过程中 |
4 | 请求完成 |
readyState=0 after you have created the XMLHttpRequest object, but before you have called the open() method.
readyState=1 after you have called the open() method, but before you have called send().
readyState=2 after you have called send().
readyState=3 浏览器与服务器建立通信,但服务器之前已完成了响应.
readyState=4 请求后已完成,并已经完全从服务器收到响应数据.
responseText
Returns the response as a string.
responseXML
返回为XML响应。此属性返回一个XML文档对象,它可以使用W3C DOM节点树的方法和属性的研究和分析.
status
Returns the status as a number (e.g. 404 for "Not Found" and 200 for "OK").
statusText
Returns the status as a string (e.g. "Not Found" or "OK").