gpt4 book ai didi

javascript - 如何在不丢失表单数据的情况下进行 Post-redir-get

转载 作者:可可西里 更新时间:2023-11-01 16:34:59 25 4
gpt4 key购买 nike

假设用户获取页面/表单/

GET/form/

然后他填写了表格并发送了一个post请求

POST/form/

服务器尝试验证用户输入并确定输入无效。

目前用户的历史链是

  • GET/form/
  • POST/form/

现在服务器将用户重定向到 GET/form/ 页面,以便它可以再次填写表单(带有错误消息)。

他的历史看起来像

  • GET/form/ 填写表单字段
  • GET/form/ 不在表单字段中提交

如何在用户不丢失他在第一个表单中输入的详细信息的情况下将用户发回?

有哪些技术可以将用户重定向回他们的 GET/form/ 页面,而不是强制他们重新输入他们的信息。

下面是我针对此示例的 express (node.js) 特定服务器端代码。

验证中间件:

validate().on("error", function _error(msg) {
// store error message on request object
req.flash(msg, validateUserMessage[msg]);
}).on("valid", function _valid() {
// handle the rest of /POST/
next();
}).on("invalid", function _invalid() {
// redirect user back to last page, the /GET/ form
res.redirect("back");
}).run(function _validateUsers(check, sanitize) {
// validation logic.
});

路由:

// GET /form/
app.get("/form", function _signUpView(req, res) {
// render /form/
res.render("auth/signup", req.flash());
});

// POST /form/
// validation middleware used here.
app.post("/form", secure.validateUser, function _signUpCreate(req, res) {
model.create(req.body, function _create() {
// create thing in database
});
});

最佳答案

不要重定向无效输入。仅对有效输入执行此操作。

对于无效输入,使用相同的表单响应 POST 请求,但这次填充了您刚刚收到的 POST 数据。

关于javascript - 如何在不丢失表单数据的情况下进行 Post-redir-get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7091860/

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