HTML in XMLHttpRequest
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Đặc tả XMLHttpRequest của W3C bổ sung hỗ trợ phân tích HTML cho XMLHttpRequest, vốn ban đầu chỉ hỗ trợ phân tích XML. Tính năng này cho phép ứng dụng web nhận một tài nguyên HTML dưới dạng một DOM đã được phân tích bằng XMLHttpRequest.
Để có cái nhìn tổng quan về cách dùng XMLHttpRequest nói chung, hãy xem Using XMLHttpRequest.
Hạn chế
Để hạn chế việc dùng XMLHttpRequest theo kiểu đồng bộ, hỗ trợ HTML không có trong chế độ đồng bộ. Ngoài ra, hỗ trợ HTML chỉ có sẵn nếu thuộc tính responseType đã được đặt thành "document". Hạn chế này tránh lãng phí thời gian phân tích HTML vô ích khi mã cũ dùng XMLHttpRequest ở chế độ mặc định để lấy responseText cho tài nguyên text/html. Nó cũng tránh các vấn đề với mã cũ giả định rằng responseXML là null đối với các trang lỗi HTTP, vốn thường có phần thân phản hồi text/html.
Cách dùng
Lấy một tài nguyên HTML dưới dạng DOM bằng XMLHttpRequest hoạt động giống như lấy một tài nguyên XML dưới dạng DOM bằng XMLHttpRequest, trừ việc bạn không thể dùng chế độ đồng bộ và phải yêu cầu rõ một tài liệu bằng cách gán chuỗi "document" cho thuộc tính responseType của đối tượng XMLHttpRequest sau khi gọi open() nhưng trước khi gọi send().
const xhr = new XMLHttpRequest();
xhr.onload = () => {
console.log(xhr.responseXML.title);
};
xhr.open("GET", "file.html");
xhr.responseType = "document";
xhr.send();
Mã hóa ký tự
Nếu mã hóa ký tự được khai báo trong header HTTP Content-Type, mã hóa đó sẽ được dùng. Nếu không có, và có byte order mark, thì mã hóa được chỉ ra bởi byte order mark sẽ được dùng. Nếu vẫn không có, và có một phần tử <meta> khai báo mã hóa trong 1024 byte đầu tiên của tệp, mã hóa đó sẽ được dùng. Nếu không, tệp sẽ được giải mã như UTF-8.
Thông số kỹ thuật
| Specification |
|---|
| XMLHttpRequest> # interface-xmlhttprequest> |