在通过 /POST 路由将项目添加到数据库后,如何在我的成功页面上显示一个变量?
How do I have a variable available to display on my success page, after adding items to a database via a /POST route?
我想在路由成功页面上显示 doc.id 变量 /POST 数据,用户随后将被重定向到该成功页面。我正在尝试弄清楚如何将变量 teamId 传递到 Handlebar 模板页面 success.hbs
我试过将其设为一个变量,并设置一个 Handlebar 助手来显示它,但没有任何效果。
/POST 路由重定向到 success.hbs:
app.post('/create', (req, res) => {
var players = [];
var playerObj = {};
for (let i = 1; i < 21; i++) {
var playerObj = { playerName: req.body[`player${i}Name`], playerNumber: req.body[`player${i}Number`], playerPosition: req.body[`player${i}Position`] };
if (req.body["player" + i + "Name"] === '') {
console.log("Empty player name detected, disregarding");
} else {
players.push(playerObj);
}
}
var newTeam = new Team({
// WEB SETUP BELOW
"team.teamRoster.teamCoach": req.body.coachName,
"team.shortTeamName": req.body.teamShortName,
"team.teamName": req.body.teamName,
"team.teamRoster.players": players
});
newTeam.save().then((doc) => {
var teamId = doc.id;
console.log(teamId);
res.render('success.hbs');
console.log("Team Added");
}, (e) => {
res.status(400).send(e);
});
});
/views/success.hbs
<div class="container-fluid" id="body">
<div class="container" id="page-header">
<h1><span id="headline">Team Added Succesfully</span></h1>
<hr>
<h3><span id="subheadline">Input the following address as a JSON Data Source within vMix.</span></h3>
<span id="content">
<div class="row">
<div class="container col-md-12">
{{{teamId}}}
</div>
</div>
</span>
</div>
<hr>
</div>
我想要一个 Handlebar 助手获取 /POST 请求的 doc.id 值,并将其存储为 teamId 以显示在成功页面上。目前没有任何发现。
感谢任何帮助。
Node.js 可以像这样将变量传递给 handlebars-view:
newTeam.save().then((doc) => {
var teamId = doc.id;
console.log(teamId);
res.render('success.hbs', {
teamId
});
console.log("Team Added");
}, (e) => {
res.status(400).send(e);
});
我想在路由成功页面上显示 doc.id 变量 /POST 数据,用户随后将被重定向到该成功页面。我正在尝试弄清楚如何将变量 teamId 传递到 Handlebar 模板页面 success.hbs
我试过将其设为一个变量,并设置一个 Handlebar 助手来显示它,但没有任何效果。
/POST 路由重定向到 success.hbs:
app.post('/create', (req, res) => {
var players = [];
var playerObj = {};
for (let i = 1; i < 21; i++) {
var playerObj = { playerName: req.body[`player${i}Name`], playerNumber: req.body[`player${i}Number`], playerPosition: req.body[`player${i}Position`] };
if (req.body["player" + i + "Name"] === '') {
console.log("Empty player name detected, disregarding");
} else {
players.push(playerObj);
}
}
var newTeam = new Team({
// WEB SETUP BELOW
"team.teamRoster.teamCoach": req.body.coachName,
"team.shortTeamName": req.body.teamShortName,
"team.teamName": req.body.teamName,
"team.teamRoster.players": players
});
newTeam.save().then((doc) => {
var teamId = doc.id;
console.log(teamId);
res.render('success.hbs');
console.log("Team Added");
}, (e) => {
res.status(400).send(e);
});
});
/views/success.hbs
<div class="container-fluid" id="body">
<div class="container" id="page-header">
<h1><span id="headline">Team Added Succesfully</span></h1>
<hr>
<h3><span id="subheadline">Input the following address as a JSON Data Source within vMix.</span></h3>
<span id="content">
<div class="row">
<div class="container col-md-12">
{{{teamId}}}
</div>
</div>
</span>
</div>
<hr>
</div>
我想要一个 Handlebar 助手获取 /POST 请求的 doc.id 值,并将其存储为 teamId 以显示在成功页面上。目前没有任何发现。
感谢任何帮助。
Node.js 可以像这样将变量传递给 handlebars-view:
newTeam.save().then((doc) => {
var teamId = doc.id;
console.log(teamId);
res.render('success.hbs', {
teamId
});
console.log("Team Added");
}, (e) => {
res.status(400).send(e);
});