Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在nodejs中为每个访问的随机用户使用会话_Node.js_Session - Fatal编程技术网

Node.js 如何在nodejs中为每个访问的随机用户使用会话

Node.js 如何在nodejs中为每个访问的随机用户使用会话,node.js,session,Node.js,Session,我正在创建一个nodejs网站,人们可以在线考试。这些问题将从数据库中随机抽取,并显示给用户回答。问题是当另一个用户同时想要参加考试时,他会得到相同的随机生成的问题。当用户想要参加考试时,如何使用会话生成随机问题。使用此模块:。这是一个示例设置: var session = require('express-session'); var sessionOpts = session({ secret: 'yoursecret', saveUninitialized: true,

我正在创建一个nodejs网站,人们可以在线考试。这些问题将从数据库中随机抽取,并显示给用户回答。问题是当另一个用户同时想要参加考试时,他会得到相同的随机生成的问题。当用户想要参加考试时,如何使用会话生成随机问题。

使用此模块:。这是一个示例设置:

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路由器中。