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.
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.readyStateRead only-
Trả về một số đại diện cho trạng thái của yêu cầu.
XMLHttpRequest.responseRead only-
Trả về một
ArrayBuffer, mộtBlob, mộtDocument, một đối tượng JavaScript, hoặc một chuỗi, tùy thuộc vào giá trị củaXMLHttpRequest.responseType, chứa phần thân thực thể phản hồi. XMLHttpRequest.responseTextRead 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
nullnế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.responseURLRead 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.responseXMLRead only-
Trả về một
Documentchứa phản hồi cho yêu cầu, hoặcnullnế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.statusRead only-
Trả về mã trạng thái phản hồi HTTP của yêu cầu.
XMLHttpRequest.statusTextRead 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.uploadRead only-
Một
XMLHttpRequestUploadđại diện cho quá trình tải lên. XMLHttpRequest.withCredentials-
Trả về
truenếu các yêu cầuAccess-Controlxuyê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.mozAnonRead 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.mozSystemRead 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
nullnế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
nullnế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()sauopen(), nhưng trướcsend().
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
readyStatethay đổi. Cũng có sẵn thông qua thuộc tính trình xử lý sự kiệnonreadystatechange.
Các đặc tả kỹ thuật
| Specification |
|---|
| XMLHttpRequest> # interface-xmlhttprequest> |
Tương thích trình duyệt
Xem thêm
XMLSerializer: Tuần tự hóa một cây DOM thành XML- Sử dụng XMLHttpRequest
- Fetch API