Node.js 如何在nodejs中为每个访问的随机用户使用会话
我正在创建一个nodejs网站,人们可以在线考试。这些问题将从数据库中随机抽取,并显示给用户回答。问题是当另一个用户同时想要参加考试时,他会得到相同的随机生成的问题。当用户想要参加考试时,如何使用会话生成随机问题。使用此模块:。这是一个示例设置:Node.js 如何在nodejs中为每个访问的随机用户使用会话,node.js,session,Node.js,Session,我正在创建一个nodejs网站,人们可以在线考试。这些问题将从数据库中随机抽取,并显示给用户回答。问题是当另一个用户同时想要参加考试时,他会得到相同的随机生成的问题。当用户想要参加考试时,如何使用会话生成随机问题。使用此模块:。这是一个示例设置: var session = require('express-session'); var sessionOpts = session({ secret: 'yoursecret', saveUninitialized: true,
var session = require('express-session');
var sessionOpts = session({
secret: 'yoursecret',
saveUninitialized: true,
resave: true
});
app.use(sessionOpts);
app.get('/getQuestion', function(req,res){
if(req.session.question){
//show the user the req.session.question
} else {
req.session.question = //GENERATE A NEW QUESTION;
//show the user the new req.session.question
}
}
您的问题不需要进行会话。您可以简单地更改每次刷新时给出的问题。如果您不希望这样,那么您应该使用会话,但为了获得帮助,我们需要知道您使用的是什么框架。我使用的express frameworkits显示了一些错误。。你能告诉我你到底做了什么,这样我就可以解决这个问题了。增加了整个功能,在路由器中输出10个问题,所以每次它要么生成10个新的随机问题,要么使用会话中相同的旧问题。该错误可能是输入错误,因为我无法在没有架构的情况下测试任何内容,或者因为totalQuestions的module.exports不再有效。您可以保留app.js配置,并尝试自己修复questions.js。您可以使用req.session.yourVariable=data向会话添加新数据;然后,您可以通过从相同的req对象访问相同的数据来使用相同的数据。因为您希望根据请求生成新问题,所以您应该将所有内容都放在get路由器中。