3
respostas

nome is not defined at cliente-service

Uncaught ReferenceError: nome is not defined at cliente-service.js:21:34 (anonymous) @ cliente-service.js:21

//constante cria o elemento TR e depois na template string pré definido, logo inserção no INNERHTML igual ao conteudo html definido
const criaNovaLinha = () => {
    const NovoCliente = document.createElement('tr')
    const conteudo =`
    <td class="td" data-td>${nome}</td>
    <td>${email}</td>
    <td>
        <ul class="tabela__botoes-controle">
            <li><a href="../telas/edita_cliente.html" class="botao-simples botao-simples--editar">Editar</a></li>
            <li><button class="botao-simples botao-simples--excluir" type="button">Excluir</button></li>
        </ul>
    </td>
    `

    NovoCliente.innerHTML = conteudo
    return NovoCliente
}


const tabela = document.querySelector('[data-tabela]')
tabela.appendChild(criaNovaLinha(nome,email))
// Cria requisição e enviar para acesso 
//indicação onde vai puxar e responder a pagina 
const http =new XMLHttpRequest()
http.open('GET', 'http://localhost:3000/profile')
http.send()
http.onload = () => {
    const data = JSON.parse(http.response)
    data.forEach(elemento => {
        tabela.appendChild(criaNovaLinha(elemento.nome, elemento.email))
    });

const http2 =new XMLHttpRequest()
http2.open('GET', 'http://localhost:3000/semanaPassada')
http2.send()
http2.onload = () => {

}
}
3 respostas

o nome da função está apresentando erro.

solução e outro erro: colocar os nome em CRIANOVALINHA( nome, email) e logo acima deles a const nome e email puxando para tabela.

erro: ocorre a inserção de valor null nos dois campo. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

const nome = document.querySelector("tabela__coluna--p")
const email = document.querySelector("tabela__coluna--g")
const criaNovaLinha = (nome, email) => {

    const NovoCliente = document.createElement('tr')
    const conteudo =`
    <td class="td" data-td>${nome}</td>
    <td>${email}</td>
    <td>
        <ul class="tabela__botoes-controle">
            <li><a href="../telas/edita_cliente.html" class="botao-simples botao-simples--editar">Editar</a></li>
            <li><button class="botao-simples botao-simples--excluir" type="button">Excluir</button></li>
        </ul>
    </td>
    `

    NovoCliente.innerHTML = conteudo
    return NovoCliente
}

Oi João, tudo bem?

Desculpe a demora em te responder!

O erro "Uncaught ReferenceError: nome is not defined" acontece porque a variável "nome" não foi definida antes de ser utilizada na linha 21 do arquivo "cliente-service.js". É necessário definir essa variável antes de utilizá-la na template string.

O arquivo compartilhado no tópico, não parece ser o de origem do erro, por conta disso peço o link do seu projeto no GitHub ou um drive com todos os arquivos utilizados no projeto, para que eu possa simular o seu problema e te ajudar de forma mais assertiva.

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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