Angular Cookies 操作

摘要:
$cookiesProvider使用$cookiesProvider更改$cookies服务的默认行为。格式为“Wdy,DDMonYYYHH:MM:SSGMT”的字符串或日期对象表示cookie将在该确切日期/时间过期$CookiesProvider配置$cookies提供对浏览器cookie的读/写访问。需要引入ngCookies模块。棱角饼干[.min]。Js方法:get;根据密钥返回cookie值。getAll();返回所有cookie的键值对格式对象。去除删除具有指定id的cookie。存储和检索的对象将通过常规toJson/fromJson自动序列化/反序列化。放根据给定的id设置cookie。

$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)的坑就基本没什么问题了

免责声明:文章转载自《Angular Cookies 操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇kali linux 入门(1) 基于win10和docker的环境搭建Python timedelta模块 时间增减用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[易语言软件开源] [分享源码] 百度贴吧自动回复(水贴)机

 http://imgsrc.baidu.com//tieba//cp%3Dtieba%2C10%2C1339%3Bap%3D%D2%D7%D3%EF%D1%D4%B0%C9%2C88%2C1347//sign=3bfa3f5e7c0e0cf3b4ba46bf6323907e//3b87e950352ac65cbb90f43ff5f2b21192138ae...

基于AngularJs的上传控件-angular-file-upload

今天跟大家分享的是一个依赖于angular的上传控件。 前段时间做项目遇到一个需求是上传文件,大概需要实现的样式是这样子的,见下图: 需要同时上传两个文件。并且规定文件格式和文件大小。因为前端框架使用angular,且不想因为一个上传功能又引入一个jquery,所以在网上查找基于angular的上传控件,因为angular还算比较新,貌似都没有太成熟的插...

angular.js

AngularJS是一款为了克服HTML在构建应用上的不足而设计的优秀的前端JS框架。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。 前段框架:前后台分离(pc端,移动端都可以使用) vue:中小型项目,较灵活 angular:中大型项目,安全性较高 react:原生开发,混合开发,中小型  1...

AngularJS从构建项目开始

AngularJS从构建项目开始 AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统。angularjs是由Google团队开发的一款非常优秀web前端框架。在当前如此多的web框架下,angularjs能脱颖而出,从架构设计上就高人一等,双向数据绑定,依赖注入,指令,MVC,模板。Angular.js创新地...

Requests库详解

urllib库作为基本库,requests库也是在urllib库基础上发展的 但是urllib在使用上不如requests便利,比如上篇文章在写urllib库的时候,比如代理设置,处理cookie时,没有写,因为感觉比较繁琐,另外在发送post请求的时候,也是比较繁琐。 一言而代之,requests库是python实现的简单易用的HTTP库 在以后做爬虫的...

详解angularJs中自定义directive的数据交互

就我对directive的粗浅理解,它一般用于独立Dom元素的封装,应用场合为控件重用和逻辑模块分离。后者我暂时没接触,但数据交互部分却是一样的。所以举几个前者的例子,以备以后忘记。 directive本身的作用域$scope可以选择是否封闭,不封闭则和其controller共用一个作用域$scope。例子如下: <body ng-app="myAp...