无法在第一页加载时设置 SailsJS 会话变量
SailsJS session variable not able to be set on first page load
这是控制器:
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
的路线,可在此处调用验证码方法。图片 src 设置为 captcha.png。我希望在调用 captcha
方法时设置 req.session.captcha 并且我可以使用它来验证 index
方法中的表单。
但是,在重新启动服务器后加载第一个页面时,未设置会话变量。如果我对验证码方法进行后续调用,则会设置会话变量并可以使用。
我假设这与尚未设置的会话 cookie 有关?或者还有其他我忽略的东西吗?
有什么想法吗?
啊,只是一个开发问题。事实上,我已经从上一个会话中设置了一个 cookie,这将使请求的会话无效。实际上,将变量存储在错误的会话下。如果我在服务器重启后删除我的 cookie,那么页面刷新时一切正常。
离开这里让其他人摸不着头脑。
这是控制器:
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
的路线,可在此处调用验证码方法。图片 src 设置为 captcha.png。我希望在调用 captcha
方法时设置 req.session.captcha 并且我可以使用它来验证 index
方法中的表单。
但是,在重新启动服务器后加载第一个页面时,未设置会话变量。如果我对验证码方法进行后续调用,则会设置会话变量并可以使用。
我假设这与尚未设置的会话 cookie 有关?或者还有其他我忽略的东西吗?
有什么想法吗?
啊,只是一个开发问题。事实上,我已经从上一个会话中设置了一个 cookie,这将使请求的会话无效。实际上,将变量存储在错误的会话下。如果我在服务器重启后删除我的 cookie,那么页面刷新时一切正常。
离开这里让其他人摸不着头脑。