pensei que o .send() teria que receber um endereço ou local pra onde serão enviado os dados, funciona automaticamente? pra onde vai? estou com esta curiosidade...
pensei que o .send() teria que receber um endereço ou local pra onde serão enviado os dados, funciona automaticamente? pra onde vai? estou com esta curiosidade...
Olá Petrus, tudo bem?
Desculpe a demora em retornar.
O método send()
da classeXMLHttpRequest
não recebe um parâmetro para especificar o destino da requisição porque o destino já foi definido anteriormente, quando a instância do objeto foi criada e configurada.
Antes de chamar o método send()
, é necessário configurar a instância do objeto com as informações necessárias para a requisição, como o método HTTP, o URL do recurso, os cabeçalhos da requisição, os parâmetros da requisição (no caso de um POST) etc.
Por exemplo:
const http = new XMLHttpRequest();
http.open("GET", "http://exemplo.com/api/usuarios");
http.setRequestHeader("Authorization", "Bearer <token>");
http.onreadystatechange = function() {
if (http.readyState == XMLHttpRequest.DONE) {
if (http.status == 200) {
console.log(http.responseText);
} else {
console.error("Erro na requisição");
}
}
};
http.send();
Nesse código, a instância do objeto XMLHttpRequest é criada e configurada com o método open(), que define o método HTTP e o URL do recurso, e o método setRequestHeader(), que define o cabeçalho Authorization da requisição.
O método onreadystatechange é utilizado para tratar o estado da requisição e o método send() é chamado para enviar a requisição para o destino definido anteriormente, no caso, http://exemplo.com/api/usuarios.
Em resumo, o método send() não recebe um parâmetro para especificar o destino da requisição porque essa informação já foi definida anteriormente, durante a configuração da instância do objeto XMLHttpRequest.
Espero ter ajudado a esclarecer sua dúvida. Se tiver mais alguma pergunta, é só perguntar!
Um abraço.