XMLHttpRequest.send()

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 (en-US) 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

Especificação Status Comentário
XMLHttpRequest
The definition of 'send()' in that specification.
Padrão em tempo real WHATWG living standard

Compatibilidade com os navegadores

BCD tables only load in the browser

Veja também