XMLHttpRequest(XMLHttpRequest)
XMLHttpRequest对象是AJAX的关键。 自Internet Explorer 5.5于2000年7月发布以来,它一直可用,但直到2005年的AJAX和Web 2.0开始流行才被完全发现。
XMLHttpRequest(XHR)是一种API,可以被JavaScript,JScript,VBScript和其他Web浏览器脚本语言用于使用HTTP在Web服务器之间传输和操作XML数据,在网页的客户端和网络端之间建立独立的连接通道。服务器端。
从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 )
将标签/值对添加到要发送的HTTP标头。
XMLHttpRequest属性
onreadystatechange
每个状态更改时触发的事件的事件处理程序。
readyState
readyState属性定义XMLHttpRequest对象的当前状态。
下表提供了readyState属性的可能值列表 -
州 | 描述 |
---|---|
0 | 请求未初始化。 |
1 | 请求已设置。 |
2 | 请求已发送。 |
3 | 请求正在进行中。 |
4 | 请求已完成。 |
readyState = 0创建XMLHttpRequest对象之后,但在调用open()方法之前。
readyState = 1调用open()方法之后,但在调用send()之前。
readyState = 2调用send()之后。
readyState = 3浏览器与服务器建立通信后,但在服务器完成响应之前。
readyState = 4请求完成后,响应数据已完全从服务器接收。
responseText
以字符串形式返回响应。
responseXML
以XML格式返回响应。 此属性返回XML文档对象,可以使用W3C DOM节点树方法和属性检查和解析该对象。
status
将状态返回为数字(例如,“Not Found”为404,“OK”为200)。
statusText
以字符串形式返回状态(例如,“Not Found”或“OK”)。