如何仅在 Express 视图引擎传递值时显示 HTML 标记?
How do I show a HTML tag only when Express view engine passes a value?
如果您看到下面的代码,您会注意到对于 GET 请求,'add' 页面没有传递任何值,而对于 POST 请求,'add' 页面获取'msg' 值作为发布的结果。
router.get('/add', (req, res) => {
res.render('add', {})
})
router.post('/add', (req, res) => {
// receive a form
// save it to the database
// Promise is returned
.then(gig => res.render('add', {
msg: 'Your application is successful.'
})
.catch((err) => console.log(err));
}
})
在add.ejs文件中,我不允许写<%= msg %>因为它会导致GET 请求的错误。除了将 { msg: null } 传递给 GET 路由器之外,还有其他方法吗?
router.get('/add', (req, res) => {
res.render('add', { msg: null })
})
我问这个是因为我认为在这种情况下传递 null 是非常重复的。
备选方案是在要呈现的文件中添加控件
<% var msg = msg ??空 %>
这样,如果变量 msg 未传递,则值为 null,字段将为空
如果您看到下面的代码,您会注意到对于 GET 请求,'add' 页面没有传递任何值,而对于 POST 请求,'add' 页面获取'msg' 值作为发布的结果。
router.get('/add', (req, res) => {
res.render('add', {})
})
router.post('/add', (req, res) => {
// receive a form
// save it to the database
// Promise is returned
.then(gig => res.render('add', {
msg: 'Your application is successful.'
})
.catch((err) => console.log(err));
}
})
在add.ejs文件中,我不允许写<%= msg %>因为它会导致GET 请求的错误。除了将 { msg: null } 传递给 GET 路由器之外,还有其他方法吗?
router.get('/add', (req, res) => {
res.render('add', { msg: null })
})
我问这个是因为我认为在这种情况下传递 null 是非常重复的。
备选方案是在要呈现的文件中添加控件
<% var msg = msg ??空 %>
这样,如果变量 msg 未传递,则值为 null,字段将为空