我想使用res.render
方法显示一个完整的表格,有没有办法做到这一点?
我正在尝试的事情:
定义发送我的一个表的位置。
main.hbs
<html>
...
<div id="main_frame" class="col s12">{{{body}}}</div>
...
</html>
基本视图文件......
home.hbs
...
{{table1}}
{{table2}}
{{table3}}
...
我的服务器正在查询我的数据库中的一些数据,我使用我的generate_table_from_product_query
函数对其进行转换,并将其显示在main.hbs中的{{{body}}}
部分
server.js
...
var rsq;
var con = mysql.createConnection({
host: "blablabla",
user: "login",
password: "pw",
database: "blablabla"
});
app.engine('.hbs', exphbs({
defaultLayout: 'main',
extname: '.hbs',
layoutsDir: path.join(__dirname, 'views/layouts')
}))
app.set('view engine', '.hbs')
app.set('views', path.join(__dirname, 'views'))
app.get('/', (request, response) => {
response.render('home', {
table1: rsq
})
})
app.use((err, request, response, next) => {
console.log(err)
response.status(500).send('nope')
})
app.listen(port, (err) => {
if (err) {
return console.log('error', err)
}
console.log(`listening port: ${port}`)
})
con.connect(function(err) {
if (err) throw err;
console.log("[mysql error1]",err);
console.log("Connected!");
var sql_request = 'SELECT * FROM produit'
con.query(sql_request, function (err, req_result) {
rsq=generate_table_from_product_query(req_result);
console.log(rsq);
console.log("[mysql error]",err);
});
});
这是我最终的结果:
我曾尝试使用app.send
,但我不能用这种方法将它注入正确的位置。
由于
答案 0 :(得分:0)
我认为您正在寻找如何使用Handlebars显示html内容。 看看这里:https://stackoverflow.com/a/16863979/5133130