XMLHttpRequest: phương thức send()
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.
Phương thức XMLHttpRequest send() gửi yêu cầu đến máy chủ.
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 và kết quả được phân phối bằng cách sử dụng các sự kiện. Nếu yêu cầu là đồng bộ, phương thức này sẽ không trả về cho đến khi phản hồi đến nơi.
send() chấp nhận một tham số tùy chọn cho phép bạn chỉ định phần thân của yêu cầu; điều này chủ yếu được sử dụng cho các yêu cầu như PUT. Nếu phương thức yêu cầu là GET hoặc HEAD, tham số body bị bỏ qua và phần thân yêu cầu được đặt thành null.
Nếu không có tiêu đề Accept nào được thiết lập bằng cách sử dụng setRequestHeader(), một tiêu đề Accept với loại "*/*" (bất kỳ loại nào) sẽ được gửi.
Cú pháp
send()
send(body)
Tham số
bodyOptional-
Một khối dữ liệu để gửi trong yêu cầu XHR. Đây có thể là:
- Một
Document, trong trường hợp đó nó được tuần tự hóa trước khi gửi. - Một
XMLHttpRequestBodyInit, theo đặc tả Fetch có thể là mộtBlob, mộtArrayBuffer, mộtTypedArray, mộtDataView, mộtFormData, mộtURLSearchParams, hoặc một chuỗi. null
Nếu không có giá trị nào được chỉ định cho body, giá trị mặc định
nullđược sử dụng. - Một
Cách tốt nhất để gửi nội dung nhị phân (ví dụ: trong tải tệp lên) là sử dụng một đối tượng TypedArray, DataView hoặc Blob kết hợp với phương thức send().
Giá trị trả về
Không có (undefined).
Ngoại lệ
InvalidStateErrorDOMException-
Được ném nếu
send()đã được gọi cho yêu cầu, và/hoặc yêu cầu đã hoàn tất. NetworkErrorDOMException-
Được ném nếu loại tài nguyên cần tải là một Blob, và phương thức không phải là
GET.
Ví dụ: GET
const xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);
xhr.onload = () => {
// Yêu cầu đã hoàn tất. Xử lý tại đây.
};
xhr.send(null);
// xhr.send('string');
// xhr.send(new Blob());
// xhr.send(new Int8Array());
// xhr.send(document);
Ví dụ: POST
const xhr = new XMLHttpRequest();
xhr.open("POST", "/server", true);
// Gửi thông tin tiêu đề phù hợp cùng với yêu cầu
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = () => {
// Gọi một hàm khi trạng thái thay đổi.
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
// Yêu cầu đã hoàn tất. Xử lý tại đây.
}
};
xhr.send("foo=bar&lorem=ipsum");
// xhr.send(new Int8Array());
// xhr.send(document);
Các đặc tả kỹ thuật
| Thông số kỹ thuật |
|---|
| XMLHttpRequest> # the-send()-method> |