XMLHttpRequest
Baseline 广泛可用 *
注意:此功能在 Web Workers 中可用,但 Service Workers 除外。
XMLHttpRequest (XHR) 对象用于与服务器进行交互。您可以在不刷新整个页面的情况下从 URL 检索数据。这使得网页能够更新页面的部分内容,而不会中断用户正在进行的操作。
尽管名称如此,XMLHttpRequest 也可以用于检索任何类型的数据,不仅仅是 XML。
如果您的通信需要接收服务器上的事件数据或消息数据,请考虑通过 EventSource 接口使用 服务器发送事件 (Server-sent events)。对于全双工通信,WebSockets 可能是更好的选择。
构造函数
XMLHttpRequest()-
构造函数初始化一个
XMLHttpRequest对象。它必须在调用任何其他方法之前调用。
实例属性
此接口还继承了 XMLHttpRequestEventTarget 和 EventTarget 的属性。
XMLHttpRequest.readyState只读-
返回一个数字,表示请求的状态。
XMLHttpRequest.response只读-
返回一个
ArrayBuffer、一个Blob、一个Document、一个 JavaScript 对象或一个字符串,具体取决于XMLHttpRequest.responseType的值,其中包含响应实体正文。 XMLHttpRequest.responseText只读-
返回一个包含响应文本的字符串,如果请求不成功或尚未发送,则返回
null。 XMLHttpRequest.responseType-
指定响应的类型。
XMLHttpRequest.responseURL只读-
返回响应的序列化 URL,如果 URL 为 null,则返回空字符串。
XMLHttpRequest.responseXML只读-
返回一个包含请求响应的
Document,如果请求不成功、尚未发送或无法解析为 XML 或 HTML,则返回null。在 Web Workers 中不可用。 XMLHttpRequest.status只读-
返回请求的 HTTP 响应状态码。
XMLHttpRequest.statusText只读-
返回一个包含 HTTP 服务器返回的响应字符串。与
XMLHttpRequest.status不同,这包含了响应消息的整个文本(例如"OK")。注意:根据 HTTP/2 规范 RFC 7540,第 8.1.2.4 节:响应伪标头字段,HTTP/2 没有定义一种方法来传递 HTTP/1.1 状态行中包含的版本或原因短语。
XMLHttpRequest.timeout-
请求可以进行的时间(以毫秒为单位),超时后将自动终止。
XMLHttpRequest.upload只读-
一个表示上传过程的
XMLHttpRequestUpload对象。 XMLHttpRequest.withCredentials-
如果跨站点
Access-Control请求应该使用凭据(如 cookie 或授权标头)进行,则返回true,否则返回false。
非标准属性
XMLHttpRequest.mozAnon只读 非标准-
一个布尔值。如果为 true,则请求将在不带 cookie 和授权标头的情况下发送。
XMLHttpRequest.mozSystem只读 非标准-
一个布尔值。如果为 true,则不会对请求强制执行同源策略。
实例方法
XMLHttpRequest.abort()-
如果请求已发送,则中止该请求。
XMLHttpRequest.getAllResponseHeaders()-
返回所有响应头,以 CRLF 分隔,作为字符串;如果尚未收到响应,则返回
null。 XMLHttpRequest.getResponseHeader()-
返回包含指定标头文本的字符串;如果尚未收到响应或响应中不存在该标头,则返回
null。 XMLHttpRequest.open()-
初始化一个请求。
XMLHttpRequest.overrideMimeType()-
覆盖服务器返回的 MIME 类型。
XMLHttpRequest.send()-
发送请求。如果请求是异步的(这是默认设置),则此方法会在请求发送后立即返回。
XMLHttpRequest.setAttributionReporting()安全上下文 实验性-
指示您希望请求的响应能够注册归因源或触发事件。
XMLHttpRequest.setRequestHeader()-
设置 HTTP 请求头的值。您必须在调用
open()之后、调用send()之前调用setRequestHeader()。
事件
此接口还继承了 XMLHttpRequestEventTarget 的事件。
readystatechange-
每当
readyState属性发生变化时触发。也可通过onreadystatechange事件处理程序属性访问。
规范
| 规范 |
|---|
| XMLHttpRequest # interface-xmlhttprequest |
浏览器兼容性
加载中…
另见
XMLSerializer:将 DOM 树序列化为 XML- 使用 XMLHttpRequest
- Fetch API