Session 我可以在没有请求对象的情况下访问ExpressJS中的会话吗?
我有一个用于模板制作的应用程序,以及用于存储一些特定于客户端的数据的会话 我在路由中创建会话,如下所示:Session 我可以在没有请求对象的情况下访问ExpressJS中的会话吗?,session,express,swig-template,Session,Express,Swig Template,我有一个用于模板制作的应用程序,以及用于存储一些特定于客户端的数据的会话 我在路由中创建会话,如下所示: 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.da
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.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);
});
稍后在我的应用程序中,我有一个swig过滤器,需要读取和使用我的会话,但我不太确定在没有请求对象时如何访问会话
我的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.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);
});
可能吗?不,不可能。为什么会这样?您的代码如何知道要使用哪个会话 任何特定于请求的代码都必须在请求处理程序中(或从中调用),以便它具有对请求数据的引用