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

Tương thích trình duyệt