vue获取后台session
时间: 2023-08-12 16:24:05 浏览: 379
要在 Vue 中获取后台的 session,需要在后台返回的响应头中设置 session 的信息,然后在 Vue 中可以通过 axios 拦截器获取到响应头中的 session 信息。
在后台代码中,可以使用 Express 框架的 session 中间件来处理 session,具体代码如下:
```javascript
const express = require('express');
const session = require('express-session');
const app = express();
app.use(session({
secret: 'session_secret_key',
resave: false,
saveUninitialized: true,
cookie: { secure: false }
}));
// 设置 session
app.get('/setSession', (req, res) => {
req.session.username = 'test';
res.send('session set success');
});
// 获取 session
app.get('/getSession', (req, res) => {
res.send(req.session.username);
});
app.listen(3000, () => {
console.log('server start at port 3000');
});
```
在 Vue 代码中,可以使用 axios 的拦截器来获取响应头中的 session 信息,具体代码如下:
```javascript
import axios from 'axios';
axios.interceptors.response.use(
response => {
const session = response.headers['session'];
if (session) {
// 将 session 存储到本地
localStorage.setItem('session', session);
}
return response;
},
error => {
return Promise.reject(error);
}
);
```
在需要使用 session 的地方,可以通过 localStorage.getItem('session') 来获取存储在本地的 session 信息。
阅读全文