XMLHttpRequest.send()

В процессе перевода.

Метод XMLHttpRequest.send() отправляет запрос. Если запрос асинхнонный (каким он является по-умолчанию), то возврат из данного метода происходит сразу после отправления запроса. Если запрос синхронный, то метод возвращает управление только после получения ответа. Метод send() принимает необязательные аргументы в тело запросов. Если метод запроса GET или HEAD, то аргументы игнорируются и тело запроса устанавливается в null.

If no Accept header has been set using the setRequestHeader(), an Accept header with the */* is sent.

Синтаксис

XMLHttpRequest.send(body)

Параметры

body Необязательный

Данные из параметра body оправляются в запросе через XHR. Это могут быть:

Лучший способ передать двоичные данные (например при загрузке файлов) - это использование ArrayBufferView или Blobs в сочетании с методомsend().

Если никакого значения не определено в качестве body, то будет использовано значение по-умолчанию: null.

Возвращаемое значение

Void.

Пример: 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);

Спецификации

Спецификация Статус Комментарий
XMLHttpRequest
Определение 'send()' в этой спецификации.
Живой стандарт WHATWG living standard

Поддержка браузерами

Возможность Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая поддержка 1 (Да) 1.0 (1.7 или ранее) 5[1]
7
(Да) 1.2
send(ArrayBuffer) 9 (Да) 9.0 (9.0) 10 11.60 ?
send(ArrayBufferView) 22 ? 20.0 (20.0) ? ? ?
send(Blob) 7 (Да) 3.6 (1.9.2) 10 12 ?
send(FormData) 6 (Да) 4.0 (2.0) 10 12 ?
send(URLSearchParams) 59 ? 44.0 (44.0) ? ? ?
Возможность Android Webview Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? 1 (Да) (Да) ? ? ?
send(ArrayBuffer) ? ? ? ? ? ? ?
send(ArrayBufferView) ? ? ? ? ? ? ?
send(Blob) ? ? ? ? ? ? ?
send(FormData) ? ? ? ? ? ? ?
send(URLSearchParams) ? 59 ? 44.0 (44.0) ? ? ?

[1] Возможность реализуется с помощью ActiveXObject(). Начиная с версии 7 Internet Explorer реализует стандарт XMLHttpRequest.

Метки документа и участники

 Внесли вклад в эту страницу: rgrtuleague, dim0nickb
 Обновлялась последний раз: rgrtuleague,