【问题标题】:Jade won't show results of mysqlJade 不会显示 mysql 的结果
【发布时间】:2013-11-14 04:08:27
【问题描述】:

我正在使用 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

当我运行它时,控制台会显示查询结果,但玉似乎拒绝检查它。 我能找到的所有教程似乎都与我的代码几乎相同。 我之前遇到了一个错误:

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

但不记得当它弹出时我在做什么。

当前控制台输出:

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

谁能发现我做错了什么?

【问题讨论】:

  • 控制台将rows 显示为一个数组,作为对索引函数的调用的一部分?
  • 请添加准确的 console.log 结果。 rows 可能作为数组返回,作为 items 键的值没有意义。
  • 您至少需要使用li= event.name 来扩展event.name,但这可能不是您的问题。你不是在某处覆盖items吗?
  • 项目未在其他任何地方使用。我试过li= eventli= event.name

标签: mysql node.js express pug


【解决方案1】:

检查JSON.stringify();

尝试:

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

【讨论】:

    【解决方案2】:

    尝试不使用 '-' 并使用全局变量 locals:

        each event in locals.items
    

    【讨论】:

      【解决方案3】:

      在一些帮助下整理好了

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

      【讨论】:

        猜你喜欢
        • 2013-06-18
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 2014-09-04
        • 2018-04-26
        • 2020-06-09
        相关资源
        最近更新 更多