如何在cookie里存数据
时间: 2024-05-02 15:18:15 浏览: 89
要在cookie中存储数据,可以使用JavaScript中的document.cookie属性。以下是一个示例:
```
// 设置cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/";
// 获取cookie
var username = document.cookie;
```
在上面的示例中,我们使用document.cookie属性将名为“username”的cookie设置为“John Doe”,并设置它的过期日期为2025年12月18日。我们还指定了cookie的路径(在这种情况下,是网站的根目录/)。
要访问cookie,只需读取document.cookie属性即可。在上面的示例中,我们将cookie的值存储在变量“username”中。
相关问题
往cookie里存JSON格式的数据 会读取不出来吗 报格式错误
往cookie里存储JSON格式数据是可行的,但是需要注意一些细节。如果您将一个JSON对象直接存储到cookie中,可能会出现格式错误的问题。这是因为cookie只能存储字符串类型的数据,而JSON对象是一个JavaScript对象,需要将其转换为字符串类型后再存储到cookie中。
您可以使用JSON.stringify()方法将JSON对象转换为字符串类型,然后再存储到cookie中。当您需要读取cookie中的数据时,可以使用JSON.parse()方法将字符串类型的数据转换为JSON对象。
以下是一个示例代码:
```javascript
// 存储JSON数据到cookie中
const data = { name: 'John', age: 30 };
document.cookie = `data=${JSON.stringify(data)}`;
// 从cookie中读取JSON数据
const encodedData = document.cookie.replace(/(?:(?:^|.*;\s*)data\s*\=\s*([^;]*).*$)|^.*$/, "$1");
const decodedData = decodeURIComponent(encodedData.replace(/\+/g, ' '));
const jsonData = JSON.parse(decodedData);
console.log(jsonData); // { name: 'John', age: 30 }
```
需要注意的是,cookie的大小有限制,不能存储过大的数据。在存储JSON数据前,您需要先将其转换为字符串,并确保字符串的大小不超过cookie的限制。
cookie怎么存两个用户信息
可以通过在Cookie中存储一个包含多个用户信息的对象来实现存储两个用户信息的需求。具体做法如下:
1. 创建一个包含两个用户信息的对象:
```
var user1 = {
name: "张三",
age: 30,
email: "zhangsan@example.com"
};
var user2 = {
name: "李四",
age: 28,
email: "lisi@example.com"
};
```
2. 将对象转换为字符串并存储在Cookie中:
```
var json1 = JSON.stringify(user1);
var json2 = JSON.stringify(user2);
document.cookie = "user1=" + json1;
document.cookie = "user2=" + json2;
```
3. 读取Cookie中的数据并将其转换为对象:
```
function getCookie(name) {
var cookies = document.cookie.split("; ");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].split("=");
if (cookie[0] === name) {
return JSON.parse(cookie[1]);
}
}
return null;
}
var u1 = getCookie("user1");
var u2 = getCookie("user2");
```
这样,可以在Cookie中存储并读取两个用户信息。当需要存储更多用户信息时,可以按照类似的方式将多个用户信息保存为一个包含多个用户信息的数组或对象,并将其存储在Cookie中。