Web應用程序使用HTTP協議來傳輸數據,當我們數據交換完成后,客戶端和服務器之間的連接將關閉,下面是錯新技術頻道小編為大家分享connect中間件session.html" target="_blank">session、cookie的使用方法,希望能幫到你。
在app.js中配置下(必須放到app.use(routes);之前)
?
復制代碼 代碼如下:
var connect = require("connect");
app.use(connect.cookieParser());
app.use(connect.session({ secret: 'jiami', cookie: { maxAge: 60*60*24*1000}}));
?
然后在控制器中使用
?
復制代碼 代碼如下:
//設置
req.session.username="sess_username";
req.session.password="sess_admin";
req.session.your = {username:"sess_name",password:"sess_pwd"};
//使用
console.log(req.session.username);
console.log(req.session.your);
?
其它方法
?
復制代碼 代碼如下:
//注銷session
req.session.destroy(function(err){
?console.log(err);
})
//重新生成sid
req.session.regenerate(function(err){
?console.log(err);
});
?
當設置了session后,我們看到cookie中多了條sid,是為了記錄會話ID的
?
打印req.cookies和req.session對象
?
復制代碼 代碼如下:
console.log(req.cookies);
console.log(req.session);
?
?
可以看到session是通過存了個connect.sid的方式來與客戶端會話的,不過session是存在內存中的
二、cookie,官方文檔:(http://www.senchalabs.org/connect/cookieParser.html 這個文檔坑了我整整一天時間),費話不表,下面的例子是哥試出來的,因為文檔上沒寫使用方法
設置
?
復制代碼 代碼如下:
//設置cookie
res.cookie("user",{username:"cookie_name",password:"cookie_pwd"},{ maxAge: 60*60*24*1000,httpOnly:true, path:'/'});
res.cookie("msg", "用戶名或密碼不能為空", {maxAge:60*60*24*1000});
?
刪除
?
復制代碼 代碼如下:
res.cookie("msg", "用戶名或密碼不能為空", {maxAge:0});
?
上述是錯新技術頻道小編為大家分享connect中間件session、cookie的使用方法,相信對大家實踐操作中是有幫助的,如果對這方面感興趣,可以收藏錯新技術頻道哦!