如何将变量从express传递到ejs文件中并避免“未定义文档”?

问题描述 投票:0回答:1

我目前正在使用express,postgresql和ejs进行项目。现在,我试图从数据库中选择所有行,并将结果传递到ejs文件中,然后为每个行对象绘制一个矩形,但是它不起作用。也许我应该在脚本标签中使用“ document”而不是,但是如何在不使用的情况下将变量传递给ejs?

app.js中的代码

app.get('/',(req, res) => {
    var getPeopleQuery = 'SELECT * FROM people';
    pool.query(getPeopleQuery, (err, result) => {
        if(err){
            res.end(err);
        } else {
            res.render('pages/home', {'rows':result.rows});
        }
    });
});

home.ejs中的代码

<body>
    <canvas id='myCanvas' width="1000" height="500"></canvas>
    <% var c = document.getElementById('myCanvas'); %>
    <% var ctx = c.getContext('2d'); %>
    <% rows.forEach(function(row) { %>
        <% ctx.fillStyle = 'red'; %>
        <% ctx.fillRect(0, 0, 50, 100); %>
    <% }); %>
</body>
javascript node.js express server ejs
1个回答
-1
投票

您正在传递:{'rows':result.rows}到家。在家里,您正在使用:function(row)。我认为您应该回家:{rows:result.rows}

© www.soinside.com 2019 - 2024. All rights reserved.