【问题标题】:Can i access sessions in ExpressJS without the request object?我可以在没有请求对象的情况下访问 ExpressJS 中的会话吗?
【发布时间】:2014-05-26 08:45:21
【问题描述】:

我有一个应用程序使用swig 进行模板化,并使用会话存储一些客户端特定数据。

我在这样的路线内创建我的会话:

exports.RenderIndex = function(req, res){
  if (req.body.filters) {
    var filters = req.body.filters;
    if (filters.date && filters.date.length > 0) {
      var d = moment(filters.date, "YYYY-MM-DD");
      var weekNumber = d.week();

      req.session.selectedDate = filters.date;
      req.session.selectedWeek = weekNumber;
    }
  }
};

稍后在我的应用程序中,我有一个 swig-filter 需要读取和使用我的会话,但是当我没有请求对象从中获取会话时,我不太确定如何访问会话。

我的 swig-filter 看起来像这样:

swig.setFilter('getOpeninghourTable', function (input, idx) {
  var weeknumber = HERE_ID_LIKE_MY_SESSION_VALUE
  var data = calendar.json(input, weeknumber );
  return swig.renderFile(''template.html, calendarData);
});

有可能吗?

【问题讨论】:

    标签: session express swig-template


    【解决方案1】:

    不,这是不可能的。为什么会这样?您的代码如何知道要使用哪个会话?

    任何特定于请求的代码都必须在请求处理程序中(或从中调用),因此它具有对请求数据的引用。

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 1970-01-01
      • 2017-07-23
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 2013-03-16
      相关资源
      最近更新 更多