1
resposta

Erro na Aula 4: Tratando a resposta da requisição. E não consigo achar o problema. Podem me ajudar?

var botaoBuscarPacientes = document.querySelector("#buscar-pacientes"); botaoBuscarPacientes.addEventListener("click", function(){ var xhr = new XMLHttpRequest();

xhr.open("GET", "https://https://api-pacientes.herokuapp.com/pacientes");

xhr.addEventListener("load", function(){ var resposta = xhr.responseText; var pacientes = JSON.parse(resposta);

parcientes.forEach( function(paciente) { adicionaPacienteNaTabela(paciente); }); }); xhr.send();

Erro: buscar-pacientes.js:15 - Uncaught SyntaxError: Unexpected end of input

1 resposta

Leonardo, vc tem q verificar o status na requisição xhr.

buscarPaciente.addEventListener("click", function(){
    console.log("Buscando pacientes...");

    var xhr = new XMLHttpRequest();

    xhr.open("GET", "http://api-pacientes.herokuapp.com/pacientes1");
    xhr.addEventListener("load", function(){
     var erro = document.querySelector("#erro-ajax");

       // Codigo de verificação do status da requisição http
        if(xhr.status == 200){
            erro.classList.add("invisivel");
            var pacientes = JSON.parse(xhr.responseText);        
            pacientes.forEach(function(paciente) {
                adicionarnaTabela(paciente)
            });
        }else{            
            erro.classList.remove("invisivel");
        }


    })
    xhr.send();
});

O xhr.status = 200 é tudo OK. e o seu link tem dois https://

o caminho certo eh: http://api-pacientes.herokuapp.com/pacientes.

No seu caso eh https://https://api-pacientes.herokuapp.com/pacientes:

xhr.status 404, fazendo o IF acima vc ira jogar o erro 404 - Not Found na tela.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software