1

テンプレートに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);
});

出来ますか?

4

1 に答える 1

1

いいえ、できません。なぜでしょうか?どのセッションを使用するかをコードでどのように知ることができますか?

リクエスト固有のコードはすべて、リクエスト ハンドラ内にある (またはそこから呼び出される) 必要があるため、リクエスト データへの参照が含まれます。

于 2014-05-26T00:45:21.917 に答える