XMLHttpRequest 中的 HTML
Baseline 广泛可用 *
W3C 的 XMLHttpRequest 规范为 XMLHttpRequest 添加了 HTML 解析支持,而 XMLHttpRequest 最初仅支持 XML 解析。此功能允许 Web 应用程序通过 XMLHttpRequest 获取已解析的 DOM 形式的 HTML 资源。
有关如何使用 XMLHttpRequest 的一般性概述,请参阅 使用 XMLHttpRequest。
局限性
为了 discouraging XMLHttpRequest 的同步使用,HTML 支持在同步模式下不可用。此外,只有当 responseType 属性被设置为 "document" 时,HTML 支持才可用。此限制可以避免在旧代码使用 XMLHttpRequest 的默认模式检索 text/html 资源的 responseText 时,浪费时间进行无用的 HTML 解析。此外,此限制还可以避免旧代码在 HTTP 错误页面(通常具有 text/html 响应体)中假设 responseXML 为 null 时出现的问题。
用法
使用 XMLHttpRequest 将 HTML 资源作为 DOM 检索,其工作方式与使用 XMLHttpRequest 将 XML 资源作为 DOM 检索类似,只是您不能使用同步模式,并且必须在调用 open() 之后、调用 send() 之前,通过将字符串 "document" 分配给 XMLHttpRequest 对象的 responseType 属性来显式请求文档。
const xhr = new XMLHttpRequest();
xhr.onload = () => {
console.log(xhr.responseXML.title);
};
xhr.open("GET", "file.html");
xhr.responseType = "document";
xhr.send();
字符编码
如果字符编码在 HTTP Content-Type 标头中声明,则使用该字符编码。如果未声明,则使用字节顺序标记(BOM)指示的编码。如果仍然未声明,则使用文件中前 1024 字节内声明的 <meta> 元素中的编码。否则,文件将以 UTF-8 解码。
规范
| 规范 |
|---|
| XMLHttpRequest # interface-xmlhttprequest |
浏览器兼容性
加载中…