节点js app会话。如何让用户不介入会话?

时间:2017-10-08 19:32:40

标签: node.js session

我学习节点js。我有一个非常简单的应用程序,需要输入查询到视频主机。例如。你键入" cat"和页面显示你与一些猫的视频。没关系。

我使用快递,我真的无法理解会话和cookie的工作原理。我想为每个用户制作不同的会话。对不起我愚蠢的英语,现在我按字面意思写下来:D

如果一个用户输入了一个查询并且他被给了一个视频,那么另一个用户不应该看到他的查询结果,即它必须具有相同的结果

因为如果我已经输入了查询和视频显示,同样在另一个浏览器上显示,那就是某种"常见的搜索"。

希望你理解,谢谢你的回复!

UPD, 从输入中获取查询并将其置于变量中,需要将pug模板链接到需要插入页面的视频

app.post("/", function (req, res) {

    if(!req.body) {
        return res.sendStatus(400);
    }

    vk.request('video.search', {'q' :req.body.query}, function(_o) {
        query = _o.response.items[0].player;
        res.redirect('back');
    });
});

1 个答案:

答案 0 :(得分:0)

您应该使用express-session

安装完成后,需要对其进行配置:

const session = require('express-session')({
    secret: 'your secret',
    resave: true,
    saveUninitialized: true
});

之后您需要确保app使用它(app应该app = express())。要使代码使用express-sessions,您需要执行app.use(session);

要访问您的会话,路由时,您只需从session参数获取request对象即可。

在想法中,保存会是这样的:

app.get('/', (req, res) =>{
    req.session.yourvariable = 'foo';
});

要使会话变量像执行req.session.yourvariable

一样简单