This page was translated from English by the community.Learn more and join the MDN Web Docs community.
XMLHttpRequest.send()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
МетодXMLHttpRequest.send() отправляет запрос. Если запрос асинхронный (каким он является по умолчанию), то возврат из данного метода происходит сразу после отправления запроса. Если запрос синхронный, то метод возвращает управление только после получения ответа. Методsend() принимает необязательные аргументы в тело запросов. Если метод запросаGET илиHEAD, то аргументы игнорируются и тело запроса устанавливается в null.
Если заголовокAccept не был задан с помощьюsetRequestHeader(), будет отправлено значениеAccept по умолчанию*/*.
In this article
Синтаксис
XMLHttpRequest.send(body)
Параметры
- bodyНеобязательный
Данные из параметра body оправляются в запросе через XHR. Это могут быть:
Document, и в этом случае данные будут сериализованы перед отправкой.BodyInit, которые, согласно спецификацииFetch могут быть:Blob,BufferSource,FormData,URLSearchParams,ReadableStream, или объектомUSVString.
Лучший способ передать двоичные данные (например при загрузке файлов) - это использованиеArrayBufferView илиBlobs в сочетании с методомsend().
Если никакого значения не определено в качествеbody, то будет использовано значение по умолчанию:null.
Возвращаемое значение
undefined.
Исключения
| Исключение | Описание |
|---|---|
InvalidStateError | send() уже был вызван для запроса, и/или запрос завершён. |
NetworkError | Тип запрошенного ресурса - Blob, но метод запроса неGET. |
Пример: GET
var xhr = new XMLHttpRequest();xhr.open('GET', '/server', true);xhr.onload = function () { // Запрос завершён. Здесь можно обрабатывать результат.};xhr.send(null);// xhr.send('string');// xhr.send(new Blob());// xhr.send(new Int8Array());// xhr.send({ form: 'data' });// xhr.send(document);Пример: POST
var xhr = new XMLHttpRequest();xhr.open("POST", '/server', true);//Передаёт правильный заголовок в запросеxhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");xhr.onreadystatechange = function() {//Вызывает функцию при смене состояния. if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) { // Запрос завершён. Здесь можно обрабатывать результат. }}xhr.send("foo=bar&lorem=ipsum");// xhr.send('string');// xhr.send(new Blob());// xhr.send(new Int8Array());// xhr.send({ form: 'data' });// xhr.send(document);Спецификации
| Specification |
|---|
| XMLHttpRequest> # the-send()-method> |