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

Erro no ao adicionar na tabela

Bom dia, estava fazendo o código durante a aula, fiz a função de adicionar na tabela no form.js mas no buscar.js dis que a função não está definida, sendo que no index o import está na ordem correta

<script src="js/calcula-imc.js"></script>
<script src="js/form.js"></script>
<script src="js/remover.js"></script>
<script src="js/filtro.js"></script>
<script src="js/buscar.js"></script>

e o meu buscar.js está assim:

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

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

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

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

        pacientes.forEach(function(paciente) {
            adicionaPacienteNaTabela(paciente);
        });
    });

    xhr.send();
});

e está dando o seguinte erro:

Uncaught ReferenceError: adicionaPacienteNaTabela is not defined
    at http://localhost/CursoJavaScript/introducao-javascript/js/buscar.js:13:13
    at Array.forEach (native)
    at XMLHttpRequest.<anonymous> (http://localhost/CursoJavaScript/introducao-javascript/js/buscar.js:12:19)
(anonymous) @ buscar.js:13
(anonymous) @ buscar.js:12

dando um console.log dentro do foreach está mesmo com o objeto paciente, mas está dando esse erro, alguém poderia me uma uma luz?

4 respostas

Olá Filipe,

Algo me diz que o erro está vindo antes mesmo do buscar, por que o erro está mostrando que a função não está definida, como se ela não estivesse sendo chamada corretamente. Poderia mostrar a esta função pra gente?

Felipe, tudo certo? =)

Me parece que a sua função adicionaPacienteNaTabela() não foi definida no momento da sua chamada, dentro do forEach... Você chegou a verificar se ela foi previamente importada? =)

Fábio

solução!

Bom dia,

Final do form.js ela está assim

function adicionaPacienteNaTabela(paciente) {
    var pacienteTr = montaTr(paciente);
    var tabela = document.querySelector("#tabela-pacientes");
    tabela.appendChild(pacienteTr);
}

e ela está funcionando, pois o form que utiliza essa função ela está funcionando

Marquei como solução por engano :/

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