gpt4 book ai didi

html - 通过 app.post 呈现的页面出现 `Confirm Form Resubmission` 问题( '/' ,在expressjs中

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:55 26 4
gpt4 key购买 nike

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com