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
在浏览器中呈现。但是,当我在 http://localhost:3000
刷新 home.jade
文件时,它要求确认表单重新提交,我想摆脱这 - 确认重新提交表单
!
home.jade
文件是包含简单文本的简单文件。
最佳答案
问题实际上并不是由您的代码引起的,而是当您收到来自 POST 的响应时,浏览器想要再次发帖。解决此问题的常见方法是重定向到同一页面。
app.post('/', function(req, res){
res.redirect('/');
});
现在,当您刷新时,浏览器将重新获取 GET '/'。
更新以反射(reflect)更新的问题
要呈现在重定向页面上发布的数据,可以使用 session 。
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 });
});
关于html - 通过 app.post 呈现的页面出现 `Confirm Form Resubmission` 问题( '/' ,在expressjs中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614986/