Estou tentando exibir as dados em formato json no navegador, mas ele está retornando "Cannot read property 'length' of undefined" quando insiro o link "http://localhost:3000/produtos" no navegador. Segue abaixo o meu código HTML:
Id | Título | Descrição | Preço |
<%for(var i = 0; i < lista.length; i++){ %> | |||
<%=lista[i].id%> | <%=lista[i].titulo%> | <%=lista[i].descricao%> | <%=lista[i].preco%> |
O código javascript da página:
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.render('produtos/lista',{lista:results}); });
connection.end(); }); }
E o erro que está sendo retornado pelo navegador:
TypeError: /Users/viewitimac/projetos/casadocodigo/app/views/produtos/lista.ejs:14 12| 13|
14| <%for(var i = 0; i < lista.length; i++){ %> 15|
Cannot read property 'length' of undefined at eval (eval at (/Users/viewitimac/projetos/casadocodigo/node_modules/ejs/lib/ejs.js:485:12), :11:31) at returnedFn (/Users/viewitimac/projetos/casadocodigo/node_modules/ejs/lib/ejs.js:514:17) at View.exports.renderFile [as engine] (/Users/viewitimac/projetos/casadocodigo/node_modules/ejs/lib/ejs.js:358:31) at View.render (/Users/viewitimac/projetos/casadocodigo/node_modules/express/lib/view.js:126:8) at tryRender (/Users/viewitimac/projetos/casadocodigo/node_modules/express/lib/application.js:639:10) at EventEmitter.render (/Users/viewitimac/projetos/casadocodigo/node_modules/express/lib/application.js:591:3) at ServerResponse.render (/Users/viewitimac/projetos/casadocodigo/node_modules/express/lib/response.js:961:7) at Query._callback (/Users/viewitimac/projetos/casadocodigo/app/routes/produtos.js:12:8) at Query.Sequence.end (/Users/viewitimac/projetos/casadocodigo/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24) at /Users/viewitimac/projetos/casadocodigo/node_modules/mysql/lib/protocol/Protocol.js:399:18