javascript - 在 res.redirect 上传递变量

标签 javascript node.js express

有没有一种简单的方法可以在 node.js/express 中使用 res.redirect 传递变量,而不必将其附加到 URL,或将其存储在 cookie 或 session 变量中?

我为什么要这样做?这是一个例子:

假设我在/users 有一个用户页面。我可以在/users/add 页面添加用户。我将表单发布在/users/add 上,如果它有错误,它会使用错误消息重新加载该表单,如果它成功通过,它会重定向回/users 页面。我想要的是能够知道我刚刚添加了一个用户并为其显示一条成功消息。

这是一个帖子的例子:

exports.usersAddPost = function(req, res, next) {
  // validate form

  if (!validated) {
     // go back to form
     return res.render('users/add', req.body.whatever);
  } else {
     // go back to users list
     // need some way to tell users page that a user was just added
    return res.redirect('users');
  }
};

最佳答案

我实际上决定使用 session ,因为我找到了一种相当优雅的好方法。

在重定向之前,我像这样设置 session :

req.session['success'] = 'User added successfully';
res.redirect('users');

在用户页面上,我检查是否有一个成功变量并将其传递给我的模板(如果它存在),然后为了重置它我只是将它设置为 null。这非常适合我的需要。

关于javascript - 在 res.redirect 上传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24922466/

相关文章:

javascript - Socket.io 断开连接功能不起作用

javascript - Node Express 中的并行异步路由器

javascript - 查找 %LocalAppData% 路径并使用 JavaScript 添加新文件夹

javascript - 无法从 skybiometry 获取数据

node.js - 使用 PowerShell Invoke-Command 和 Process 使 stdout 显示在控制台上

node.js - 通过 id 查找 mongoose 数组中的对象

javascript - 自定义构造函数 Mongoose

javascript - 为什么我的部分没有被发现?

javascript - 调用函数时出现 Backbone 问题

javascript - 在 AngularJS 中使用 ng-checked(复选框)绑定(bind)数组中的所有值