如何在cookie和session中存放id
时间: 2023-09-30 09:13:01 浏览: 131
Cookie和Session区别用法.pdf
在Web开发中,可以使用cookie或session存储用户id,具体方法如下:
1. 使用cookie
在前端中,可以使用JavaScript中的document.cookie来设置和读取cookie。例如,可以使用以下代码设置一个名为"id",值为"123",过期时间为一天的cookie:
```javascript
document.cookie = "id=123;expires=" + new Date(new Date().getTime() + 86400000).toGMTString();
```
在后端中,可以使用HTTP响应头中的Set-Cookie字段来设置cookie。例如,在Node.js中,可以使用以下代码将cookie设置为响应头中:
```javascript
res.setHeader('Set-Cookie', 'id=123;expires=' + new Date(new Date().getTime() + 86400000).toGMTString());
```
在后续的请求中,可以使用document.cookie来读取cookie的值。
2. 使用session
在前端中,可以使用浏览器提供的sessionStorage或localStorage来存储数据。sessionStorage存储的数据仅在当前会话期间有效,而localStorage存储的数据在浏览器关闭后依然有效。例如,可以使用以下代码将id存储到sessionStorage中:
```javascript
sessionStorage.setItem('id', '123');
```
在后端中,可以使用服务器框架提供的session中间件来实现session功能。例如,在Express框架中,可以使用以下代码启用session中间件:
```javascript
const session = require('express-session');
app.use(session({
secret: 'my-secret-key',
resave: false,
saveUninitialized: false,
cookie: { secure: false, maxAge: 86400000 }
}));
```
在路由处理函数中,可以使用req.session来访问session对象,并将id存储到session对象中:
```javascript
router.get('/', (req, res) => {
req.session.id = '123';
res.send('Hello World!');
});
```
在后续的请求中,可以使用req.session.id来获取存储在session中的id值。
阅读全文