我使用Express 4,我尝试使用session-file-store保存会话值,这是我在app.js
中使用的配置:
var FileStore = require('session-file-store')(expressSession);
app.use(
expressSession({
name: 'connect.sid',
store: new FileStore(),
cookie : { maxAge : 3600000 * 3 },
resave : true,
saveUninitialized : false,
secret : 'njksndf323SDFsffdi32Sfsd34fsbkoqaz231j0'
})
)
当我在浏览器中打开使用会话的路径时,cookie(connect.sid
)已正确设置。
问题在于每当我刷新页面时,会话目录中都会创建一些新的会话文件,但我认为在设置cookie之后,每个请求都应该使用相同的会话文件。
为什么每个请求都会创建新的会话文件?我错过了什么?
更新:
正在创建新的会话文件,因为所有这些调用都是ajax请求。
答案 0 :(得分:1)
您的AJAX客户端需要支持withCredentials
(应设置为true
以使AJAX请求通过Cookie和/或授权标头)。
例如在jQuery中:
$.ajax({
url : URL,
xhrFields : {
withCredentials: true
}
});
请注意,这将需要CORS支持