AngularJS 中会话存储、本地存储和 Cookie 的区别

作者:编程家 分类: angularjs 时间:2025-08-13

AngularJS 是一种流行的前端开发框架,它提供了许多功能和工具来简化开发过程。在 AngularJS 中,会话存储、本地存储和 Cookie 是三种常用的数据存储方式。虽然它们都可以用于存储数据,但它们之间存在一些区别。本文将介绍这些区别,并提供一些案例代码来说明它们的用法。

会话存储

会话存储是一种在用户会话期间存储数据的方法。它使用了 Web Storage API 中的 sessionStorage 对象。会话存储中的数据在用户关闭浏览器窗口后会被删除,这意味着数据只在当前会话期间有效。会话存储适用于需要在不同页面之间共享数据的情况。

下面是一个简单的例子,展示了如何在 AngularJS 中使用会话存储:

javascript

// 设置会话存储数据

sessionStorage.setItem('username', 'John');

// 获取会话存储数据

var username = sessionStorage.getItem('username');

console.log(username); // 输出 "John"

// 删除会话存储数据

sessionStorage.removeItem('username');

本地存储

本地存储是一种将数据存储在用户本地计算机上的方法。它使用了 Web Storage API 中的 localStorage 对象。与会话存储不同,本地存储中的数据在用户关闭浏览器窗口后仍然存在,因此可以在不同会话之间共享数据。本地存储适用于需要在多个会话中保持数据的情况。

下面是一个简单的例子,展示了如何在 AngularJS 中使用本地存储:

javascript

// 设置本地存储数据

localStorage.setItem('username', 'John');

// 获取本地存储数据

var username = localStorage.getItem('username');

console.log(username); // 输出 "John"

// 删除本地存储数据

localStorage.removeItem('username');

Cookie

Cookie 是一种在用户计算机上存储数据的方法。它使用了 document 对象的 cookie 属性。与会话存储和本地存储不同,Cookie 中的数据在用户关闭浏览器窗口后仍然存在,并且可以设置过期时间。Cookie 适用于需要在多个会话中保持数据,并且需要设置过期时间的情况。

下面是一个简单的例子,展示了如何在 AngularJS 中使用 Cookie:

javascript

// 设置 Cookie

document.cookie = "username=John; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

// 获取 Cookie

var cookies = document.cookie.split(';');

for (var i = 0; i < cookies.length; i++) {

var cookie = cookies[i].trim();

if (cookie.indexOf('username=') === 0) {

var username = cookie.substring('username='.length, cookie.length);

console.log(username); // 输出 "John"

break;

}

}

// 删除 Cookie

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

在 AngularJS 中,会话存储、本地存储和 Cookie 是常用的数据存储方式。会话存储适用于需要在不同页面之间共享数据的情况,而本地存储适用于需要在多个会话中保持数据的情况。Cookie 则适用于需要在多个会话中保持数据,并且需要设置过期时间的情况。根据具体需求,我们可以选择合适的数据存储方式来满足我们的需求。