Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

XMLHttpRequest

Por que a ordem das instruções não alteram o produto? xhr.send() que envia a requisição é chamado após a função que recebe os dados da requisição.

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

botaoAdicionar.addEventListener("click", function() {
  var xhr = new XMLHttpRequest(); // objeto JavaScript que faz a requisição http
  xhr.open("GET","https://api-pacientes.herokuapp.com/pacientes"); //abrindo a conexão



  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);

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


  });

  xhr.send(); //enviando a conexao;

});
2 respostas
solução!

É que na linha

xhr.addEventListener("load", function() { ...

Não está sendo chamada a função de leitura de resposta. Está sendo configurada uma função para ser rodada ao receber uma resposta.

Hum, entendi.