尝试跨控制器req.flash()

时间:2018-11-14 15:13:07

标签: javascript node.js connect-flash

我在我的express项目中使用了connect-flash-plus npm软件包,以便通过后端发送数据。

到目前为止,它一直工作出色,但是我遇到了麻烦。

当我尝试从一个控制器到另一个控制器(2个不同的文件)请求刷新时,好像数据没有被传输。

这是req.flash的已知限制吗?还是我做得不好?

下面是发送数据的函数:

  req.flash("locals", locals)
  res.redirect("/settings/createUser");

创建用户后,此消息应重定向到createUser页面,并显示一条消息,说明已成功创建该用户。消息和类型存储在通过req.flash()发送的locals对象中。

这是另一个应该接收该数据的控制器:

const getCreateUser = (req, res) => {
  const result = req.flash("locals");
  if (result.length > 0) {
    [locals] = result;
  }
  console.log(result);
  res.render("createUserpage", locals);
}

console.log(result)总是显示一个空数组,如果req.flash(“ locals”)不包含任何内容,这是正常的,但是如上面的函数所示,在执行过程中它应该包含一些内容重定向。

任何帮助,将不胜感激。

谢谢!

0 个答案:

没有答案