XMLHttpRequest: sự kiện readystatechange
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.
Note: This feature is available in Web Workers, except for Service Workers.
Sự kiện readystatechange được kích hoạt bất cứ khi nào thuộc tính readyState của XMLHttpRequest thay đổi.
Warning: Không nên sử dụng sự kiện này với các yêu cầu đồng bộ và không được sử dụng từ mã native.
Cú pháp
Sử dụng tên sự kiện trong các phương thức như addEventListener(), hoặc thiết lập một thuộc tính trình xử lý sự kiện.
js
addEventListener("readystatechange", (event) => { })
onreadystatechange = (event) => { }
Loại sự kiện
Một Event chung không có thuộc tính bổ sung.
Ví dụ
js
const xhr = new XMLHttpRequest();
const method = "GET";
const url = "https://mdn.go-mizu.dev/";
xhr.open(method, url, true);
xhr.onreadystatechange = () => {
// Trong các tệp cục bộ, trạng thái là 0 khi thành công trong Mozilla Firefox
if (xhr.readyState === XMLHttpRequest.DONE) {
const status = xhr.status;
if (status === 0 || (status >= 200 && status < 400)) {
// Yêu cầu đã hoàn tất thành công
console.log(xhr.responseText);
} else {
// Ồ không! Đã có lỗi xảy ra với yêu cầu!
}
}
};
xhr.send();
Các đặc tả kỹ thuật
| Thông số kỹ thuật |
|---|
| XMLHttpRequest> # event-xhr-readystatechange> |
| XMLHttpRequest> # handler-xhr-onreadystatechange> |