js实现cookie存储用户信息
时间: 2023-07-25 20:45:21 浏览: 40
可以通过以下代码实现cookie存储用户信息:
```javascript
// 设置cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2022 12:00:00 UTC; path=/";
// 获取cookie
function getCookie(name) {
const value = "; " + document.cookie;
const parts = value.split("; " + name + "=");
if (parts.length === 2) {
return parts.pop().split(";").shift();
}
}
// 删除cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"
```
在上述代码中,`document.cookie` 可以用来设置、获取和删除cookie。例如,我们可以通过设置 `document.cookie` 来存储用户信息,然后通过 `getCookie` 函数来获取用户信息。最后,可以通过设置 `document.cookie` 并将过期时间设置为过去的时间来删除cookie。
相关问题
使用javascript实现cookie对JSON对象的存取
可以使用`JSON.stringify()`和`JSON.parse()`方法将JSON对象转换为字符串和将字符串转换回JSON对象,并使用JavaScript的`document.cookie`属性来存储和读取cookie。
以下是一个示例代码:
```javascript
// 将JSON对象转换为字符串并存储到cookie中
function setJsonCookie(name, json, expires) {
document.cookie = name + '=' + JSON.stringify(json) + ';expires=' + expires.toUTCString();
}
// 从cookie中读取JSON字符串并转换为JSON对象
function getJsonCookie(name) {
var cookieValue = document.cookie.replace(/(?:(?:^|.*;\s*)name\s*\=\s*([^;]*).*$)|^.*$/, "$1");
return cookieValue ? JSON.parse(cookieValue) : null;
}
```
使用示例:
```javascript
var user = {name: 'John', age: 25};
setJsonCookie('user', user, new Date(Date.now() + 86400e3)); // 存储用户信息到cookie中,有效期为一天
var storedUser = getJsonCookie('user'); // 从cookie中读取用户信息
console.log(storedUser); // {name: 'John', age: 25}
```
使用javascript实现cookie对数组对象的存取
可以使用JSON.stringify()和JSON.parse()方法将数组对象存储到cookie中。
存储数组对象到cookie中:
```
// 假设要存储的数组对象为arrObj
var cookieValue = JSON.stringify(arrObj);
document.cookie = "myArray=" + encodeURIComponent(cookieValue);
```
获取cookie中的数组对象:
```
var cookieName = "myArray";
var cookieValue = document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + cookieName + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1");
if (cookieValue) {
var myArray = JSON.parse(decodeURIComponent(cookieValue));
}
```
注意,如果cookie中存储的数据量较大,可能会导致cookie超过大小限制而无法存储。此时可以考虑使用其他存储方式,如localStorage或IndexedDB。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)