后端存了session JavaScript如何获取session的值
时间: 2023-09-24 19:09:46 浏览: 62
可以通过以下方式获取session的值:
```javascript
var sessionValue = sessionStorage.getItem('sessionKey');
```
其中,`'sessionKey'`是存储session的键名,`sessionValue`是session的值。
相关问题
后端存储session代码
后端存储session的代码示例(以Node.js为例):
1. 文件存储:
```javascript
const fs = require('fs');
const path = require('path');
const sessionFilePath = path.join(__dirname, 'session');
function getSession(id) {
const session = {};
if (fs.existsSync(sessionFilePath)) {
const content = fs.readFileSync(sessionFilePath, 'utf8');
session = JSON.parse(content);
}
return session[id];
}
function setSession(id, data) {
let session = {};
if (fs.existsSync(sessionFilePath)) {
const content = fs.readFileSync(sessionFilePath, 'utf8');
session = JSON.parse(content);
}
session[id] = data;
fs.writeFileSync(sessionFilePath, JSON.stringify(session));
}
```
2. 数据库存储(以MySQL为例):
```javascript
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test',
});
function getSession(id) {
return new Promise((resolve, reject) => {
const sql = `SELECT * FROM session WHERE id='${id}'`;
connection.query(sql, (error, results) => {
if (error) {
reject(error);
} else {
resolve(results[0] ? results[0].data : null);
}
});
});
}
function setSession(id, data) {
const sql = `INSERT INTO session(id, data) VALUES ('${id}', '${data}') ON DUPLICATE KEY UPDATE data='${data}'`;
connection.query(sql, (error, results) => {
if (error) {
console.error(error);
}
});
}
```
3. 缓存存储(以Redis为例):
```javascript
const redis = require('redis');
const client = redis.createClient();
function getSession(id) {
return new Promise((resolve, reject) => {
client.get(id, (error, data) => {
if (error) {
reject(error);
} else {
resolve(data);
}
});
});
}
function setSession(id, data) {
client.set(id, data);
}
```
以上代码仅供参考,具体实现方式需要根据具体业务需求进行调整。
JavaScript获取session中的变量
在 JavaScript 中,不能直接获取 Session 中的变量。Session 是在后端服务器中存储的一个变量,需要通过后端代码(如 PHP、Java、Python 等)来获取 Session 的值,然后将其传递到 HTML 页面中的 JavaScript 中,然后通过 JavaScript 来操作该变量的值。
一种常见的做法是,在后端代码中将 Session 的值赋给一个变量,再将该变量传递到 HTML 页面中的 JavaScript 中,例如:
```php
<?php
session_start();
$myVar = $_SESSION['myVar'];
?>
<script>
var myVar = "<?php echo $myVar; ?>";
console.log(myVar);
</script>
```
然后在浏览器的控制台中可以看到输出 `myVar` 变量的值。
如果后端使用其他语言和框架,获取 Session 中的变量的方式可能会有所不同,但基本思路是一致的:在后端代码中获取 Session 中的变量值,再将其传递到前端页面中的 JavaScript 中进行操作。