Expressjs 通过 route.render 传递当地人
Expressjs passing locals with route.render
控制台日志显示活动用户,但我无法在视图中使用它,我使用的是普通 html。
app.post('/', function (req, res) {
var user = { user : req.body.username };
res.render('doctor_hagfish/pets', { locals:{
user:user
}});
console.log(user)
});
我不知道我做错了什么,有建议吗? 直到现在我在视图中尝试了这些语法 #{user}
{{user}}
我的模板引擎设置
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
所以我使用了ejs标签<% user %>
然后什么都没有显示,所以这意味着模板引擎将它识别为定义的var但仍然没有显示。
问题是 ejs
模板引擎本地语法错误
答案:<%= user %>
您的代码应该是:
app.post('/', function (req, res) {
var username = req.body.username;
res.render('doctor_hagfish/pets', {
user: username
});
});
并在模板打印变量内部 user
。是#{user}
还是{{user}}
取决于模板引擎。
这是一个例子:
var context = {
username : req.body.username
//Any other data you want in your view
};
res.render('view_name', context);
控制台日志显示活动用户,但我无法在视图中使用它,我使用的是普通 html。
app.post('/', function (req, res) {
var user = { user : req.body.username };
res.render('doctor_hagfish/pets', { locals:{
user:user
}});
console.log(user)
});
我不知道我做错了什么,有建议吗? 直到现在我在视图中尝试了这些语法 #{user}
{{user}}
我的模板引擎设置
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
所以我使用了ejs标签<% user %>
然后什么都没有显示,所以这意味着模板引擎将它识别为定义的var但仍然没有显示。
问题是 ejs
模板引擎本地语法错误
答案:<%= user %>
您的代码应该是:
app.post('/', function (req, res) {
var username = req.body.username;
res.render('doctor_hagfish/pets', {
user: username
});
});
并在模板打印变量内部 user
。是#{user}
还是{{user}}
取决于模板引擎。
这是一个例子:
var context = {
username : req.body.username
//Any other data you want in your view
};
res.render('view_name', context);