1
resposta

Tratamento de erros não funciona

O codigo funciona quando a URL está correta e traz os dados, porém quando deu o erro aparentemente o evento não foi disparado.

Coloquei uns logs na função, e não printou nenhum dos internos

passou1 buscar-pacientes.js:32 passou2 buscar-pacientes.js:31 GET https://raw.githubus11ercontent.com/loresgarcia/Pacientes-API/master/pacientes.json net::ERR_NAME_NOT_RESOLVED`

var botaoAdicionar = document.querySelector("#buscar-pacientes");

botaoAdicionar.addEventListener("click", function() { var xhr = new XMLHttpRequest();

xhr.open("GET", "https://raw.githubus11ercontent.com/loresgarcia/Pacientes-API/master/pacientes.json");
console.log ('passou1');

xhr.addEventListener ("load", function() {
    console.log ('passou3');

            //Adição aqui
            var erroAjax = document.querySelector("#erro-ajax");
            console.log ('passou');
            console.log(xhr.status);

            if (xhr.status == 200) {
                erroAjax.classList.add("invisivel");
                var resposta = xhr.responseText;
                var pacientes = JSON.parse(resposta);

                pacientes.forEach(function(paciente) {
                    adicionaPacienteNaTabela(paciente);
                });
            } else {
                erroAjax.classList.remove("invisivel");
            }

});

xhr.send();
console.log ('passou2');

});

1 resposta

Olá, parece que a url é diferente, tente esta https://raw.githubusercontent.com/loresgarcia/Pacientes-API/master/pacientes.json

espero que ajude