html包含
form(name="Form", action="/", method="post")
button(type='submit') submit
Express服务器包含:
app.post('/', function(req, res){
res.render('home', {user: req.body});
});
正如所料,home.jade
在浏览器中呈现。但是当我在home.jade
刷新http://localhost:3000
文件时,它要求确认表单重新提交我想要摆脱这个 - Confirm Form Resubmission
!
home.jade
文件是包含简单文本的简单文件。
答案 0 :(得分:4)
问题并非真正由您的代码引起,而是当您收到来自POST的响应时,浏览器希望再次发帖。解决此问题的常用方法是重定向到同一页面。
app.post('/', function(req, res){
res.redirect('/');
});
现在,当您刷新浏览器时,将重新获取GET'/'。
更新以反映更新的问题
要呈现在重定向页面上发布的数据,可以使用会话。
app.use(express.cookieSession());
app.post('/', function(req, res){
req.session.user = req.body;
res.redirect('/');
});
在GET'/'的中间件中,你必须确保使用该参数
app.get('/', function(req, res){
res.render('home', { user: req.session.user });
});