AngularJs Cookies 操作

简介: $cookiesProvider 使用$cookiesProvider改变$cookies服务的默认行为。 默认属性 path:字符串,cookies只在这个路径及其子路径可用。默认情况下,这个将会是出现在你基础标签上的网址路径。

$cookiesProvider

使用$cookiesProvider改变$cookies服务的默认行为。

默认属性

path:字符串,cookies只在这个路径及其子路径可用。默认情况下,这个将会是出现在你基础标签上的网址路径。

domain:字符串,cookies只在这个域及其子域可用。为了安全问题,如果当前域不是需求域的或者其子域,那么用户代理不会接受cookies。

expires:字符串,日期。"Wdy, DD Mon YYYY HH:MM:SS GMT"格式的字符串或者一个日期对象表示cookies将在这个确切日期/时间过期。

secure:boolean,该cookies将只在安全连接中被提供。

$cookiesProvider 配置

  (function () {
      angular.module('Demo', [])
      .config(["$cookiesProvider",cookiesFn ])
      function cookiesFn($cookiesProvider) {
          $cookiesProvider.defaults = {
              path: yourPath,
              domain: yourDomain,
              expires: expireDate,
              secure: true/false
          };
      }
  }());

$cookies

提供浏览器cookies的读/写访问操作。

支持1.4及以上版本。

需要引入ngCookies模块。angular.cookies[.min].js

方法

get(key);

根据key返回该cookies值。

key:搜索cookies的id。

getObject(key);

根据key返回该cookies的反序列化值。

key:搜索cookies的id。

getAll();

返回所有cookies的键值对格式对象。

put(key,value,[options]);

根据给定的id设置一个cookies。

key:cookies值的id。

value:要存储的cookies原始值。

[options]:选项对象。

putObject(key,value,[options]);

根据给定的id设置一个cookies。

key:cookies值的id。

value:要存储的cookies原始值。

[options]:选项对象。

remove(key,[options]);

移除指定id的cookies。

key:要删除的键值cookies对的id。

[options]:选项对象。

$cookieStore

提供一个被session cookies支持的键值对(字符串-对象)存储。被存入和取出的对象将自动通过angular的toJson/fromJson进行序列化/反序列化。

依赖:$cookies

方法

get(key);

根据key返回cookies值(已被反序列化)。

key:搜索cookies的id。

put(key,value);

根据给定的id设置一个cookies。

key:cookies值的id。

value:要存储的cookies值。

remove(key);

移除指定id的cookies。

key:要删除的键值cookies对的id。

使用代码:

  (function () {
      angular.module('Demo', ["ngCookies"])
      .controller('testCtrl', ["$cookies","$cookieStore","$timeout",testCtrl]);
      function testCtrl($cookies,$cookieStore,$timeout) {
          var time = new Date().getTime()+5000;
          $cookies.put("theCookie","Hello World",{expires:new Date(new Date().getTime()+5000)});
          $cookies.putObject("objCookie",{value:"Hello World"},{expires:new Date(new Date().getTime()+5000)});
          $cookieStore.put("newCookie",{value:"Hello World"});
          var getCookie = $cookies.get("theCookie");  // Hello World
          var getObjCookie = $cookies.getObject("objCookie");  // Object{ value="Hello World" }
          var getNewCookie = $cookieStore.get("newCookie");  // Hello World
          //$cookies.remove("theCookie"); // theCookie = unfefined
          //$cookies.remove("objCookie"); // objCookie = undefined
          var allCookies = $cookies.getAll(); // Object{ theCookie="Hello World", objCookie="{"value":"Hello World"}", newCookie="{"value":"Hello World"}" }
          $timeout(function(){
              var _getCookie = $cookies.get("theCookie"); // theCookie = unfefined
              var _getObjCookie = $cookies.getObject("objCookie"); // objCookie = undefined
              $cookieStore.remove("newCookie"); // newCookie = undefined
          },6000);
      }
  }());

注意 : angular 使用 cookies 需要引入angular-cookies[.min].js

使用 cookies 需谨慎,多注意路径(path)和域(domain)的坑就基本没什么问题了

相关文章
|
Java BI 数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
监控 安全 Linux
【专栏】Linux SSH 的安全对于远程管理至关重要,这几个小妙招安排上!
【4月更文挑战第28天】在数字化时代,Linux SSH 的安全对于远程管理至关重要。增强 SSH 安全包括:使用强密码,调整 SSH 配置文件,尤其是端口号和认证方式;采用密钥认证代替密码;限制登录用户,禁止密码登录;使用防火墙限制访问;定期更新系统和软件。此外,通过日志监控、入侵检测系统及及时应对攻击来提升安全监控。保持对安全知识的学习和更新,结合最佳实践,是保障 SSH 安全的关键。记得安全是个持续过程,时刻保持警惕!
345 1
|
机器学习/深度学习 监控 算法
车辆违停检测:基于计算机视觉与深度学习的自动化解决方案
随着智能交通技术的发展,传统人工交通执法方式已难以满足现代城市需求,尤其是在违法停车监控与处罚方面。本文介绍了一种基于计算机视觉和深度学习的车辆违停检测系统,该系统能自动监测、识别并报警违法停车行为,大幅提高交通管理效率,降低人力成本。通过使用YOLO算法进行车辆检测,结合区域分析判断车辆是否处于禁停区,实现了从车辆识别到违停判定的全流程自动化。此系统不仅提升了交通管理的智能化水平,也为维护城市交通秩序提供了技术支持。
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的未来:技术革新与趋势展望
【10月更文挑战第23天】探索人工智能的未来:技术革新与趋势展望
|
计算机视觉
高频分量
高频分量
478 7
|
监控 Unix 虚拟化
libvirtd 配置日志
libvirtd 配置日志
304 0
|
SQL Arthas 运维
取经阿里十年技术大佬,得到Java线上问题排查攻略!
再牛逼的程序员都写不出完美无缺的代码,作为后端开发工程师,一不小心就会遇到线上故障。如果线上故障处理不及时,就可能导致各种严重的后果。恰好最近部门出现了一次挺严重但幸运的是影响面不大的线上故障,最后在阿里工作十年的leader分享了线上问题的排查思路。结合这次分享,写下了这篇Java线上问题排查攻略。
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用合集之Oracle归档日志一天就达到了15GB并导致数据库崩溃,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
人工智能 JSON API
[译][AI OpenAI-doc] 语音转文字
学习如何将音频转换为文本。音频 API 提供了语音转文本的端点,转录和翻译,基于我们先进的开源大型-v2 Whisper 模型。