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

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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность 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.

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

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