--- title: XMLHttpRequest.send() slug: Web/API/XMLHttpRequest/send tags: - AJAX - API - Método HTTP - NeedsExample - Referencia - Requisição HTTP - Requisição XHR - XHR - XMLHttpRequest - send translation_of: Web/API/XMLHttpRequest/send ---
{{APIRef('XMLHttpRequest')}}
O método send(), do {{domxref("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 {{HTTPMethod("PUT")}}. Se o método de solicitação for {{HTTPMethod("GET")}} ou {{HTTPMethod("HEAD")}}, o parâmetro body será ignorado e o corpo da solicitação será definido como null.
Se nenhum cabeçalho {{HTTPHeader("Accept")}} tiver sido definido usando {{domxref("XMLHttpRequest.setRequestHeader", "setRequestHeader()")}}, um cabeçalho Accept com o tipo "*/*" (qualquer tipo) é enviado.
XMLHttpRequest.send(body)
body {{optional_inline}}BodyInit, que conforme a espeficicação Fetch, pode ser um objeto {{domxref("Blob")}}, {{domxref("BufferSource")}}, {{domxref("FormData")}}, {{domxref("URLSearchParams")}}, {{domxref("ReadableStream")}} ou {{domxref("USVString")}}.null é usado.A melhor maneira de enviar conteúdo binário (por exemplo, em uploads de arquivos) é usando um {{domxref("ArrayBufferView")}} ou {{domxref("Blob")}} em conjunto com o método send().
undefined.
| 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 {{domxref("Blob")}} e o método não é 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);
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ção | Status | Comentário |
|---|---|---|
| {{SpecName('XMLHttpRequest', '#the-send()-method', 'send()')}} | {{Spec2('XMLHttpRequest')}} | WHATWG living standard |