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 Standard
# the-send()-method

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também