Jade不会显示mysql的结果

我使用node.js,express,jade和mysql。

\\app.js var db_config = { host: 'localhost', port: '3306', [redacted] }; var connection = mysql.createConnection(db_config); ... app.get('/events', routes.events(connection)); \\index.js exports.events = function (db) { return function (req, res) { db.connect(function (err) { if (err) { console.log('error\'d:', err); } }); db.query('SELECT name FROM event', function (err, rows, fields) { if (err) throw err; else { console.log(rows); res.render('events', { "items": rows }); } }); } \\events.jade extends layout block content h1. Events List ul - each event in items li = event 

当我运行这个时,控制台显示查询的结果,但玉似乎拒绝超过它。 所有的教程,我可以find似乎有我几乎相同的代码。 我以前得到一个错误:

 5| Events List 6| ul > 7| - each event in items 8| li event.name Cannot read property 'length' of undefined 

但不记得popup的时候我在做什么。

当前控制台输出:

 Express server listening on port 3000 [ { name: 'Test event' }, { name: 'Test event 2' }, { name: 'Test event 3' }, { name: 'Woooh event' } ] GET /events 200 364ms - 151b GET /stylesheets/style.css 304 4ms 

任何人都可以发现我做错了什么?

尝试不使用“ – ”并使用全局variables局部variables:

  each event in locals.items 

得到它分类和一些帮助

li #{event.name}
res.render('events', { "items": rows }); 代替
res.render('events', { "items": JSON.stringify(rows) });

检查JSON.stringify();

尝试:

 else { console.log(rows); res.render('events', { "items": JSON.stringify(rows)}); }