--- 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 |