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 July 2015.

O método send(), do XMLHttpRequest, envia uma requisição para o servidor.Se a solicitação for assíncrona (que é o padrão), esse método retornará assim que a solicitação for enviada e o resultado for entregue usando eventos. Se a solicitação for síncrona, esse método não retornará até que a resposta chegue.

send() aceita um parâmetro opcional que permite especificar o corpo da solicitação; isso é usado principalmente para solicitações como PUT. Se o método de solicitação for GET ou HEAD, o parâmetro body será ignorado e o corpo da solicitação será definido como null.

Se nenhum cabeçalho Accept tiver sido definido usando setRequestHeader(), um cabeçalho Accept com o tipo "*/*" (qualquer tipo) é enviado.

Sintaxe

XMLHttpRequest.send(body)

Parâmetros

body Optional

Um corpo de dados a ser enviado na solicitação XHR. Isso pode ser:

Se nenhum valor for espeficicado para o corpo, o valor padrão de null é usado.

A melhor maneira de enviar conteúdo binário (por exemplo, em uploads de arquivos) é usando um ArrayBufferView ou Blob em conjunto com o método send().

Valor retornado

undefined.

Exceções

Exceção Descrição
InvalidStateError send() já foi invocado para a requisição, e/ou a requisição está completa.
NetworkError O tipo de recurso a ser buscada é um Blob e o método não é GET.

Exemplo: GET

var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);

xhr.onload = function () {
  // Requisição finalizada. Faça o processamento aqui.
};

xhr.send(null);
// xhr.send('string');
// xhr.send(new Blob());
// xhr.send(new Int8Array());
// xhr.send(document);

Exemplo: POST

var xhr = new XMLHttpRequest();
xhr.open("POST", '/server', true);

// Envia a informação do cabeçalho junto com a requisição.
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() { // Chama a função quando o estado mudar.
    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
        // Requisição finalizada. Faça o processamento aqui.
    }
}
xhr.send("foo=bar&lorem=ipsum");
// xhr.send(new Int8Array());
// xhr.send(document);

Especificações

Specification
XMLHttpRequest
# the-send()-method

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
send
ArrayBufferView as parameter to send()
ArrayBuffer as parameter to send()
Blob as parameter to send()
FormData as parameter to send()
URLSearchParams as parameter to send()

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
Has more compatibility info.

Veja também