Olá, bom dia. Tudo bem?
Minha dúvida é:
Suponhamos que meu "body" é um objeto json. Se eu fosse fazer uma requisição do tipo "POST", onde e como eu colocaria o "header" e "body"?
Desde já, obrigado!
Olá, bom dia. Tudo bem?
Minha dúvida é:
Suponhamos que meu "body" é um objeto json. Se eu fosse fazer uma requisição do tipo "POST", onde e como eu colocaria o "header" e "body"?
Desde já, obrigado!
Olá Maycon, tudo bem com você?
Irei responder com base no XHR, ok? Nos próximos cursos de javascript você irá ver outras formas de fazer essa requisição utilizando a fetch API
e ai é uma outra abordagem :)
Então abriríamos uma requisição do tipo POST, da seguinte maneira:
let xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:4000/clientes/cliente");
Vamos supor que a URL da minha api é essa localhost :)
Para definir o header da requisição iremos utilizar da seguinte maneira:
xhr.setRequestHeader("Content-Type", "application/json");
Agora temos a função que irá observar o que aconteceu com a nossa requisição, no caso:
xhr.onreadystatechange = function() {
if(this.readyState === XMLHttpRequest.DONE && this.status === 200){
console.log(xhr.responseText);
console.log("Executada com sucesso");
}
}
Eu observo se a requisição terminou e se o status dela foi 200
, e eu tenho acesso a resposta do servidor através do xhr.responseText
Para finalizar e enviar os dados em formato JSON, podemos fazer da seguinte maneira:
let objeto = {
nome: "Daniel",
cpf: "123456"
}
xhr.send(JSON.stringify(objeto))
Criando um objeto javascript e depois transformando ele em JSON com a função stringify
, poderíamos fazer isso direto dentro do send também, mas iria ficar um pouco poluído :)
Compreendeu? Qualquer coisa estou a disposição :)
Abraços e Bons Estudos!