📅  最后修改于: 2020-10-28 04:35:48             🧑  作者: Mango
XMLHttpRequest对象是AJAX的关键。自从Internet Explorer 5.5在2000年7月发布以来,它就一直可用,但是直到2005年AJAX和Web 2.0变得流行才被完全发现。
XMLHttpRequest(XHR)是一种API,JavaScript,JScript,VBScript和其他Web浏览器脚本语言可以使用该API来使用HTTP在Web服务器之间来回传输XML数据,并在网页的客户端和客户端之间建立独立的连接通道。服务器端。
从XMLHttpRequest调用返回的数据通常将由后端数据库提供。除了XML,XMLHttpRequest还可以用于获取其他格式的数据,例如JSON甚至纯文本。
您已经看了几个有关如何创建XMLHttpRequest对象的示例。
下面列出的是您必须熟悉的一些方法和属性。
abort()
取消当前请求。
getAllResponseHeaders()
以字符串返回完整的HTTP标头集。
getResponseHeader(headerName)
返回指定的HTTP标头的值。
open(方法,URL)
open(方法,URL,异步)
open(方法,URL,异步,用户名)
打开(方法,URL,异步,用户名,密码)
指定请求的方法,URL和其他可选属性。
方法参数的值可以为“ GET”,“ POST”或“ HEAD”。其他HTTP方法,例如“ PUT”和“ DELETE”(主要在REST应用程序中使用)也是可能的。
“ async”参数指定是否应异步处理请求。 “ true”表示脚本处理在send()方法之后继续执行,而不等待响应,而“ false”表示脚本在继续执行脚本处理之前等待响应。
发送(内容)
发送请求。
setRequestHeader(label,value)
将标签/值对添加到要发送的HTTP标头中。
就绪状态变更
每个状态更改时都会触发的事件的事件处理程序。
readyState
readyState属性定义XMLHttpRequest对象的当前状态。
下表提供了readyState属性的可能值的列表-
State | Description |
---|---|
0 | The request is not initialized. |
1 | The request has been set up. |
2 | The request has been sent. |
3 | The request is in process. |
4 | The request is completed. |
readyState = 0在创建XMLHttpRequest对象之后,但在调用open()方法之前。
readyState = 1在调用open()方法之后但在调用send()之前。
readyState = 2调用send()之后。
readyState = 3浏览器与服务器建立通信之后,但服务器未完成响应之前。
readyState = 4请求完成后,并且已经从服务器完全接收到响应数据。
responseText
以字符串返回响应。
responseXML
以XML形式返回响应。此属性返回XML文档对象,可以使用W3C DOM节点树方法和属性来检查和解析XML文档对象。
状态
以数字形式返回状态(例如,“ 404”表示“找不到”,200表示“确定”)。
statusText
以字符串返回状态(例如,“未找到”或“确定”)。