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

Tabela não aparace no localhost...

Olá, estou com um probleminha em relação a conexão dos dados que estão lá no Mysql 1) Segue o codigo do produtos.js

module.exports = function(app){
    app.get('/produtos', function(req,res){
        var mysql = require('mysql')
        var connection = mysql.createConnection({
            host : 'localhost',
            user : 'root',
            password : '',
            database : 'casadocodigo_nodejs'
        });
        connection.query('select * from livros', function(err, results){
            res.send(results);
        });
        connection.end();

 });
}

2) O meu terminal quando roda o servidor


C:\Users\Felipe\casadocodigo>nodemon app
[nodemon] 1.14.12
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node app`
server on

3) Vou para localhost:3000/produtos e ai nada aparece... eu sinceramente não sei aonde estou errando no codigo

Obrigado, aguardo uma resposta !

10 respostas

Oi parismollochristondis, tudo bem? O que aparece na tela? Nada? No terminal, nenhuma mensagem é mostrada?

O primeiro "problema" é que você está enviando a resposta do banco de dados direto para o navegador. No curso, é criada uma página (view) que lista os produtos, você não criou essa página?

O primeiro "problema" é que você está enviando a resposta do banco de dados direto para o navegador. No curso, é criada uma página (view) que lista os produtos, você não criou essa página?

Wanderson, acho que no caso do parismollochristondis, ele ainda não chegou na etapa de usar a view engine ainda. Chamando a função send do response passando o resultado do callback como argumento, também funciona. Geralmente o que será enviado será o resultado como um JSON para o cliente.

Acredito que o motivo de não estar aparecendo nada para ele é por que, talvez, as credenciais do banco de dados estejam inválidas.

Parismollochristondis, por acaso o seu username do banco de dados é realmente "root" e o seu password é realmente vazio '' e o nome do database esta correto?

Boa Rodolpho, pode ser isso sim, mas como ele não comentou nada sobre erro no terminal, achei que esse não fosse o problema. Em qualquer um desses casos que você relata, ele receberia um erro no terminal pelo menos informando o problema.

parismollochristondis, está sendo impressa alguma mensagem de erro no terminal quando você tenta acessar a página de listagem dos produtos?

estou com o mesmo problema, o código funciona normalmente, compila e no terminal aparece a mensagem "servidor rodando", após atualizar a página mostra a mensagem "listando..." porém as colunas da tabela não aparecem, é como se não tivesse feito nenhuma alteração

var express = require('express');
var app = express();

app.set('view engine','ejs');

app.get('/produtos', function(req, res){
    console.log("listando...");
    res.render("produtos/lista");
});

app.listen(3000, function(){
    console.log("servidor rodando");
});
<html>
    <body>
        <table border="1px">
            <tr>
                <td>id</td>
                <td>nome</td>
            </tr>
            <tr>
                <td> 1</td>
                <td>livro de node js</td>
            </tr>
        </table>
    </body>
</html>

coloquei o parâmetro 'results' dentro de um console.log e ele retornou undefined no terminal

Douglas, você tem livros no seu banco de dados?

sim, adicionei os livros seguindo o passo a passo em aula

Se results retorna undefined, houve algum problema ao tentar consultar o banco de dados.

Faça o seguinte ajuste para identificar o problema:

connection.query('select * from livros', function(err, results){
    if (err){
        console.log(err);
        }
            res.send(results);
        });

Douglas, por acaso os dados informados no connectionFactory estao corretos? O username password e database estao corretos? O serviço do MYSQL esta ativado?

A dica do Daniel acima eh muito válida. Verifique o erro que esta acontecendo.

solução!

Douglas, como você mesmo disse neste outro tópico, o erro é relativo a usuário e senha, informe os dados corretamente que deve funcionar.

Link do outro tópico: https://cursos.alura.com.br/forum/topico-json-nao-aparece-na-pagina-56771