Meu código funciona bem quando a URI está correta, porém quando testo com uma URI incorreta para ver o fluxo do tratamento de erro, o código não entra no ELSE. Testei exatamente com o mesmo código do professor e também n~da o mesmo erro na console sem fazer o que está descrito no else. A console mostra:
buscar-pacientes.js:21 GET https://api--pacientes.herokuapp.com/pacientes 404 (Not Found)
(anonymous) @ buscar-pacientes.js:21
index.html:1 Failed to load https://api--pacientes.herokuapp.com/pacientes: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 404.
O código é:
var buscarPacientes = document.querySelector("#buscar-pacientes");
buscarPacientes.addEventListener("click", function() {
//Utilização de tecnica AJAX.
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api--pacientes.herokuapp.com/pacientes");
xhr.addEventListener("load", function() {
var erroAjax = document.querySelector("#erro-ajax");
if (xhr.status == 200) {
erroAjax.classList.add("invisivel");
var resposta = xhr.responseText;
var pacientes = JSON.parse(resposta);
adicionaPacienteNaTabela(pacientes); //Aqui eu não uso for porque no meu método eu já faço a iteração inserindo os pacientes.
} else {
erroAjax.classList.remove("invisivel");
}
});
xhr.send();
});
Alguém da uma luz?