Cookies 在会话中设置cookie
我正在设置cookie并访问它。 当我执行console.log时,它不会显示任何内容。但是当我在浏览器上看到cookie时,我可以看到它的价值。 我想检查cookie是否为1。如果是一个,继续,否则放弃。但我在访问此值时遇到问题 2看起来我实际上是直接设置值,而不是: app.useexpress.cookieParser'keyboard cat'; 这里有用。问题是如果我没有这个app.use,它将无法找到秘密 如果你能让我知道我遗漏了什么,那就太好了。在express URL中,cookies上的任何指针Cookies 在会话中设置cookie,cookies,express,Cookies,Express,我正在设置cookie并访问它。 当我执行console.log时,它不会显示任何内容。但是当我在浏览器上看到cookie时,我可以看到它的价值。 我想检查cookie是否为1。如果是一个,继续,否则放弃。但我在访问此值时遇到问题 2看起来我实际上是直接设置值,而不是: app.useexpress.cookieParser'keyboard cat'; 这里有用。问题是如果我没有这个app.use,它将无法找到秘密 如果你能让我知道我遗漏了什么,那就太好了。在express URL中,cook
app.post('/login', function(req, res){
console.log(req.cookies.rememberme);
console.log(req.session.user);
if (req.session.user) {
req.session.user=req.body.username;
ss=req.session.user;
res.cookie('rememberme', '1', { maxAge: 2000, httpOnly: true });
} else {
req.session.user="test";
ss=req.session.user;
}
res.send('viewed times\n'+ss);
});
我所看到的是,如果用户提供了正确的用户名和密码,那么我将为他分配一个cookie。如果这样做,并且在后续请求中,用户将使用相同的cookie。
我还研究了如何将此cookie存储在本地内存中,以及..此片段展示了如何使用基于cookie的会话
var express = require('express')
, app = module.exports = express()
, utils = require("util");
app.use(express.cookieParser('hello !!'));
app.use(express.cookieSession({key:"remember", secret: 'testing', cookie: { maxAge: 5000}}));
app.use(express.bodyParser());
app.get('/', function(req, res, next){
if(req.session.user) {
res.send('welcome ' + req.session.user + ' Click to <a href="/forget">forget</a>!.');
} else {
res.send('<form method="post">'
+ '<p>Username : <label><input type="texst" name="user"/></label>'
+ '<p><label><input type="checkbox" name="remember"/> remember me</label></p> '
+ '<p><input type="submit" value="Submit"/>.</p></form>');
}
});
app.get('/forget', function(req, res){
res.clearCookie("remember");
res.redirect('back');
});
app.post('/', function(req, res){
if (req.body.remember) {
req.session.user = req.body.user;
console.log ( "set-cookie :" , res.get("Set-Cookie"));
}
res.redirect('back');
});
if (!module.parent){
app.listen(3000);
console.log('Express started on port 3000');
}