ここに私の初期設定があります:
var session = require('express-session');
var cookieParser = require('cookie-parser');
app.use(session({
saveUninitialized: true,
resave: false,
genid: function(req) {
return Services.misc.generateUUID()
},
secret: secret.toString()
}));
app.use(cookieParser(secret));
次に、私のコントローラーで (単純なルーターを介してコントローラーにルーティングされ、Rails のような命名規則に基づいて適切なアクションをレンダリングします)、次のようにします。
var TestController = {
noaction: function(req, res) {
var locals = {
billy: 'the goat'
}
console.log('req session'.red, req.session);
res.cookie('test_cookie', 'Wu Tang Clan');
this.services.render.view(req, res, this, 200, locals);
}
module.exports = TestController;
これthis.services.render.view
は単なるサービスであるため、記述する必要はありません。res.render('./app/controllers' + controller + '/' + action)
コントローラーの res.cookie 行に注意してください ( docs on express.js )。それは公式ドキュメントが行うように言っていることであり、実際にはブラウザで設定されています:
ただし、 res.cookie の上の行はログであり、その中にあると思いますが、次のtest_cookie
とおりです。
ブラウザ側で設定され、おそらく送信されているにもかかわらず、私が得るのは毎回標準の空のCookieだけです。
私の質問は次のとおりです: Express 4 で Cookie を適切に設定および受信するにはどうすればよいですか?