我学习节点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');
});
});
答案 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