快速视图引擎无法识别发送到前端的数据



>我正在制作一个网站,我正在尝试设置一个评论选项。我从我的Mysql DB查询评论并将数据res.发送到".pug"文件。数据不显示。但是,如果我手动输入数据,它确实会显示。如

{review: "this is a review"}

这工作得很好,但是当我尝试直接访问数据时,它不起作用。

var review;   
app.get('/', function(req,res) {
con.query("SELECT * FROM reviews.eatingReviews", function(err, rows) {
review = rows[0].Review;
console.log(review)
if (err) throw err;
});
res.render('test',
{review: review});

哈巴狗文件

extends layout
block content
p= review

数据

RowDataPacket {
Name: 'James Laskey',
Email: 'james.laskey23@gmail.com',
Review: 'This book is classic!',
Rating: 5 }

我需要让这些信息被 html 识别。它一直显示为未定义。我在对象上尝试了 JSON.parse,但也没有用。关于如何解决这个问题的任何想法?

视图为空,因为res.render是在con.query完成从数据库中获取数据之前执行的。con.query是一个异步函数。

作为解决方法,您必须将res.render放入con.query

con.query("SELECT * FROM reviews.eatingReviews", function(err, rows) {
review = rows[0].Review;
console.log(review)
if (err) throw err;
res.render('test',
{review: review});
});

最新更新