angular1.3|angular1.3 如何设置cookie的有效期
经过查阅文档等发现1.3多的 $cookies 或者 $cookieStore 没有设置option的封装,网上找了很多都是angular1.4之后的解决方法,如:
angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
// Find tomorrow's date.
var expireDate = new Date();
expireDate.setDate(expireDate.getDate() + 1);
// Setting a cookie
$cookies.put('myFavorite', 'oatmeal', {expires: expireDate});
}]);
再者是通过修改angular.js源文件,如:
if (value =https://www.it610.com/article/== undefined) {
rawDocument.cookie = escape(name) +"=;
path=" + cookiePath + ";
expires=Thu, 01 Jan 1970 00:00:00 GMT";
} else {
if (isString(value)) {
var now = new Date();
var time = now.getTime();
time += 24*60*60*1000*7;
now.setTime(time);
cookieLength = (rawDocument.cookie = escape(name) + '=' + escape(value) + ';
path=' + cookiePath+";
expires="+now.toGMTString()).length + 1
}
}
最后我只能通过原生js去设置cookie的有效期
var date = new Date();
date.setTime(date.getTime() + 30 * 60 * 1000);
//设置date为当前时间+60分
document.cookie = "token=" + result.data.token + ";
expires=" + date.toGMTString();
然后通过字符串截取读取token的值:
document.cookie得到一串“token=xxx; others=xxx; ”的字符串
splite把字符串截成数组,然后再读出其值====>注意这里是坑,你要清楚知道你要的是cookie里存储的第几个值,要不你还要重新去找这个key是什么;再者你的value里面也有可能有“=”使得下面的取值变得不精准;
document.cookie.split(";
")[0].split("=")[1];
【angular1.3|angular1.3 如何设置cookie的有效期】最后remove这个cookie的时候,我还是用了angular里的
$cookieStore.remove('token');
推荐阅读
- 企业级服务|全球8.5亿会员,领英如何在中国做HRSaaS?|钛度专访
- 施郎帮你的饭店如何推出新品还为你省下上万元()
- java|线程池如何观测(这个方案让你对线程池的运行情况了如指掌)
- 书单/想知道如何开始写作并出书(我推荐这4本书)
- 京东的百千千百计划浮出水面,如何通过流量赋能内容营销()
- 回忆过去,痛苦的知识忘不了-如何做好A1(联系经历)
- 男生被撩以后,如何让他瞬间感动
- 如何让您的wiki内容更高级()
- ECharts---图表如何响应容器大小变化
- 投稿|阿里巴巴如何应对“艰难一年”?