session的安装+使用+销毁

版权声明:非经本人同意,请勿转载。 https://blog.csdn.net/QQ_Empire/article/details/81531503

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了,一般用来存储用户名

下面是在express脚手架安装使用session

一、添加session

1.安装命令:

npm install express-session -g

npm install express-session -D

2.在app.js文件引入var session = require("express-session")

3.在app.js文件,路由之前添加以下配置代码

app.use(session({ 
	 secret: 'recommend 128 bytes random string', 
	cookie: { maxAge: 20 * 60 * 1000 },
	resave: true,
	saveUnintialized: true
}))

4.在user.js文件里,在res.send()前,

添加代码:req.session.name=data[0].name 

(注意:data[0].name为数据库的键值对)

if(data.length>0){  
     req.session.name=data[0].name        	
        res.send("已存在")
        database.close()
}
 

5.在index.js文件内,在所要渲染的路由内(例如)

router.get('/', function(req, res, next) {

  res.render('index', {name:req.session.name});//name接收数据库用户名

});

6.在你所渲染的页面内所需的地方添加<%- name%>即可渲染登录的用户名

二、销毁session

1、在所要销毁的标签添加<a href="/destroy">退出登录</a>

2、在index.js页面添加对应的路由(例如)

//销毁session
router.get('/destroy', function(req, res, next) {
     req.session.destroy(function(err){
		if(err){
		   console.log(err)
		}else{
		   res.redirect("/regist")//销毁后的页面跳转
		 }
	})
});

 

<--剧终-->

猜你喜欢

转载自blog.csdn.net/QQ_Empire/article/details/81531503