1
resposta

Como seria uma requisição post?

Como seria uma requisição post para transformar os dados do formulário em um JSON e gravar na API?

1 resposta

Olá, Victor!

Você poderia fazer algo como:

var form = document.querySelector("#form-adiciona");
var paciente = obtemPacienteDoFormulario(form);
var xhr = new XMLHttpRequest();

var dados = JSON.stringify(paciente);

xhr.open("POST", "https://endereco-do-servidor/pacientes");
request.setRequestHeader('Content-Type', 'application/json');

xhr.addEventListener("load", function() {
    var erroAjax = document.querySelector("#erro-ajax");

    if (xhr.status == 200) {
        erroAjax.classList.add("invisivel");
        //sucesso!
    } else {
        erroAjax.classList.remove("invisivel");
        //erro!
    }
});

xhr.send(dados);

Destacando partes interessantes:

  • A função JSON.stringify() transforma um objeto JS em um texto no formato JSON
  • É interessante informar para o servidor qual o tipo de dados que estamos enviando. Para isso usamos o método request.setRequestHeader() para setar o cabeçalho HTTP Content-Type com o media type apropriado que, no caso, é application/json
  • Na hora de enviar a chamada com o xhr.send(), passamos os dados