【问题标题】:How can I pass data on redirect without using query strings with Express?如何在不使用 Express 的查询字符串的情况下通过重定向传递数据?
【发布时间】:2017-09-18 12:34:51
【问题描述】:

我是第一次构建 Express 应用。

我有一个检查用户是否登录的功能,如果没有,它会将他们重定向到 /login 页面。

在此函数中,我将用户请求的 URL 存储为变量。

我正在使用 res.redirect('/login') 重定向登录页面,但是我也想将最初请求的 URL 传递给该路由,允许登录路由登录用户,然后将他们重定向到最初请求的页面。

我尝试在重定向之前将 req.app.locals 和 res.app.locals 设置为数据,但似乎这些数据在重定向时丢失了。

有什么方法可以在不使用查询字符串的情况下做到这一点。

干杯。

req.app.locals.requestedURL = err.requestedURL;
res.redirect('/login');

【问题讨论】:

    标签: node.js express redirect


    【解决方案1】:

    会话可以解决您的问题。通过使用 express-session,您可以编写如下代码:

    req.session.requestedURL = "your-url-goes-here";
    

    在您的 /login 路由中,您可以使用以下命令访问请求的 url:

    req.session.requestedURL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-09
      • 2017-12-24
      • 2011-06-16
      • 1970-01-01
      • 2018-05-17
      • 2023-03-29
      • 2016-09-14
      • 1970-01-01
      相关资源
      最近更新 更多