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.

Note: This feature is available in Web Workers, except for Service Workers.

Các đối tượng XMLHttpRequest (XHR) được sử dụng để tương tác với máy chủ. Bạn có thể lấy dữ liệu từ một URL mà không cần phải tải lại toàn bộ trang. Điều này cho phép một trang Web cập nhật chỉ một phần của trang mà không làm gián đoạn những gì người dùng đang thực hiện.

EventTarget XMLHttpRequestEventTarget XMLHttpRequest

Mặc dù có tên là XMLHttpRequest, nó có thể được sử dụng để lấy bất kỳ loại dữ liệu nào, không chỉ XML.

Nếu nhu cầu giao tiếp của bạn liên quan đến việc nhận dữ liệu sự kiện hoặc dữ liệu thông báo từ máy chủ, hãy cân nhắc sử dụng server-sent events thông qua giao diện EventSource. Đối với giao tiếp song song toàn phần (full-duplex), WebSockets có thể là lựa chọn tốt hơn.

Hàm tạo

XMLHttpRequest()

Hàm tạo khởi tạo một XMLHttpRequest. Nó phải được gọi trước khi gọi bất kỳ phương thức nào khác.

Thuộc tính instance

Giao diện này cũng kế thừa các thuộc tính của XMLHttpRequestEventTarget và của EventTarget.

XMLHttpRequest.readyState Read only

Trả về một số đại diện cho trạng thái của yêu cầu.

XMLHttpRequest.response Read only

Trả về một ArrayBuffer, một Blob, một Document, một đối tượng JavaScript, hoặc một chuỗi, tùy thuộc vào giá trị của XMLHttpRequest.responseType, chứa phần thân thực thể phản hồi.

XMLHttpRequest.responseText Read only

Trả về một chuỗi chứa phản hồi cho yêu cầu dưới dạng văn bản, hoặc null nếu yêu cầu không thành công hoặc chưa được gửi.

XMLHttpRequest.responseType

Chỉ định loại của phản hồi.

XMLHttpRequest.responseURL Read only

Trả về URL đã được tuần tự hóa của phản hồi hoặc chuỗi rỗng nếu URL là null.

XMLHttpRequest.responseXML Read only

Trả về một Document chứa phản hồi cho yêu cầu, hoặc null nếu yêu cầu không thành công, chưa được gửi, hoặc không thể phân tích cú pháp dưới dạng XML hoặc HTML. Không khả dụng trong Web Workers.

XMLHttpRequest.status Read only

Trả về mã trạng thái phản hồi HTTP của yêu cầu.

XMLHttpRequest.statusText Read only

Trả về một chuỗi chứa chuỗi phản hồi do máy chủ HTTP trả về. Không giống như XMLHttpRequest.status, thuộc tính này bao gồm toàn bộ văn bản của thông báo phản hồi ("OK", ví dụ).

Note: Theo đặc tả HTTP/2 RFC 7540, section 8.1.2.4: Response Pseudo-Header Fields, HTTP/2 không định nghĩa cách mang phiên bản hoặc reason phrase có trong dòng trạng thái HTTP/1.1.

XMLHttpRequest.timeout

Thời gian tính bằng mili giây mà một yêu cầu có thể kéo dài trước khi tự động bị chấm dứt.

XMLHttpRequest.upload Read only

Một XMLHttpRequestUpload đại diện cho quá trình tải lên.

XMLHttpRequest.withCredentials

Trả về true nếu các yêu cầu Access-Control xuyên nguồn gốc nên được thực hiện bằng cách sử dụng thông tin xác thực như cookie hoặc tiêu đề ủy quyền; ngược lại là false.

Thuộc tính không chuẩn

XMLHttpRequest.mozAnon Read only Non-standard

Một boolean. Nếu true, yêu cầu sẽ được gửi mà không có tiêu đề cookie và xác thực.

XMLHttpRequest.mozSystem Read only Non-standard

Một boolean. Nếu true, chính sách cùng nguồn gốc sẽ không được áp dụng cho yêu cầu.

Phương thức instance

XMLHttpRequest.abort()

Hủy bỏ yêu cầu nếu nó đã được gửi.

XMLHttpRequest.getAllResponseHeaders()

Trả về tất cả các tiêu đề phản hồi, được phân tách bằng CRLF, dưới dạng chuỗi, hoặc null nếu chưa nhận được phản hồi.

XMLHttpRequest.getResponseHeader()

Trả về chuỗi chứa văn bản của tiêu đề được chỉ định, hoặc null nếu phản hồi chưa được nhận hoặc tiêu đề không tồn tại trong phản hồi.

XMLHttpRequest.open()

Khởi tạo một yêu cầu.

XMLHttpRequest.overrideMimeType()

Ghi đè kiểu MIME do máy chủ trả về.

XMLHttpRequest.send()

Gửi yêu cầu. Nếu yêu cầu là không đồng bộ (mặc định), phương thức này trả về ngay khi yêu cầu được gửi.

XMLHttpRequest.setAttributionReporting() Secure context Deprecated

Cho biết bạn muốn phản hồi của yêu cầu có thể đăng ký nguồn phân thuộc tính hoặc sự kiện kích hoạt.

XMLHttpRequest.setPrivateToken() Experimental

Thêm thông tin private state token vào một lệnh gọi XMLHttpRequest, để bắt đầu các hoạt động private state token.

XMLHttpRequest.setRequestHeader()

Đặt giá trị của một tiêu đề yêu cầu HTTP. Bạn phải gọi setRequestHeader() sau open(), nhưng trước send().

Sự kiện

Giao diện này cũng kế thừa các sự kiện của XMLHttpRequestEventTarget.

readystatechange

Được kích hoạt bất cứ khi nào thuộc tính readyState thay đổi. Cũng có sẵn thông qua thuộc tính trình xử lý sự kiện onreadystatechange.

Các đặc tả kỹ thuật

Specification
XMLHttpRequest
# interface-xmlhttprequest

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

Xem thêm