Session 无法在第一页加载时设置SailsJS会话变量

Session 无法在第一页加载时设置SailsJS会话变量,session,sails.js,Session,Sails.js,这是控制器: rusty = require('rusty') module.exports = index: (req, res)-> console.log('submit', req.session) res.json({}) captcha: (req, res)-> _ref = rusty.captcha({ width: 120 height: 50 chars: 'abcdefghijklmnop

这是控制器:

rusty = require('rusty')

module.exports =
  index: (req, res)->
    console.log('submit', req.session)
    res.json({})

  captcha: (req, res)->
    _ref = rusty.captcha({
      width: 120
      height: 50
      chars: 'abcdefghijklmnopqrstuvwxyz0123456789'
      length: 4
      fonts: ['20px sans', '20px bold sans']
      noise: 50
    })
    canvas = _ref.canvas
    code = _ref.code
    req.session.captcha = code
    return canvas.toBuffer (err, buffer)->
      return res.end(buffer)
我有一个到
captcha.png
的路径,在这里调用captcha方法。图像src设置为captcha.png。我希望调用
captcha
方法时,会设置req.session.captcha,我可以使用它来验证
index
方法中的表单

但是,在重新启动服务器后加载第一页时,未设置会话变量。如果我随后调用captcha方法,则会话变量已设置并可以使用

我假设这与会话cookie尚未设置有关?还是我忽略了什么


有什么想法吗?

啊,只是一个发展问题。事实上,我已经从上一个会话中设置了cookie,这将使请求中的会话无效。有效地,将变量存储在错误的会话下。如果在服务器重新启动后删除cookie,则页面刷新时一切正常

离开这里给别人搔头