$cookieStore 过期未设置

Posted

技术标签:

【中文标题】$cookieStore 过期未设置【英文标题】:$cookieStore expires not being set 【发布时间】:2015-08-26 04:29:13 【问题描述】:

我正在通过以下方式设置 cookie 的到期日期:

var dt = new Date();
dt.setMinutes(dt.getMinutes() + 30);                           

$cookieStore.put("loggedin", true,  expires: dt )

正在创建 cookie,但它的到期时间显示为“浏览会话结束时”。什么?

【问题讨论】:

据我所知 $cookieStore 没有设置到期的选项。它只接受 2 个参数。 code.angularjs.org/1.3.16/docs/api/ngCookies/service/… 了解更多详情。 你是对的。谷歌把我带到了这里code.angularjs.org/1.4.0/docs/api/ngCookies/service/$cookies,我把所有版本都混淆了 angular 版本和 $cookies vs $cookieStore 啊好吧...诚实的错误! :-) 【参考方案1】:

在配置级别为所有 cookie 设置 cookie 属性(使用moment.js 设置到期日期)。

angular.module('myApp').config(cookies);

function cookies($cookiesProvider, moment) 
    // site domain like: domine.com 
    $cookiesProvider.defaults.domain = 'yourdomine.com';
    // set expiration to next week (+ 1 week)
    $cookiesProvider.defaults.expires = moment().add(1, 'week').calendar();
    // see HTTP cookies to view attributes

【讨论】:

以上是关于$cookieStore 过期未设置的主要内容,如果未能解决你的问题,请参考以下文章

如何给cookies设置过期时间?

如何设置cookie的过期时间

cookies不设置过期时间默认是永远不过期吗

注入 $cookieStore Angularjs 时未捕获的错误

如何为cookie设置HttpOnly

js设置cookie过期时间