$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。
实例:
今天在研究给cookies增加过期时间时,先使用了
错误例子:
var expireDate = new Date();
expireDate.setTime(expireDate.getTime() + 5 * 60 * 1000); // cookies五分钟有效期
$cookieStore.put("showCaptcha", true, {expires: new Date(expireDate)});
结果浏览器中储存的cookies没有过期时间
后来研究发现,必须使用$cookies才行
正确例子:
var expireDate = new Date();
expireDate.setTime(expireDate.getTime() + 5 * 60 * 1000); // cookies五分钟有效期
$cookies.put("showCaptcha", true, {expires: new Date(expireDate)});