【问题标题】:Cookie disappears on page refreshCookie 在页面刷新时消失
【发布时间】:2013-07-16 21:38:34
【问题描述】:

我正在使用 jQuery.cookie 设置 cookie,但是如果我刷新页面或打开新页面,有时,cookie 会丢失。为什么会这样?

这是我的代码:

jQuery.cookie('sid', 'sessionid', {expires: 30, path: '/', domain: 'xici.net'});

讨论: expires: 30 表示 30 天,由 jQuery.cookie 库代码设置。

【问题讨论】:

  • 您是否要制作跨域cookie?

标签: jquery cookies


【解决方案1】:

@rainweb

尝试使用最新的 jQuery-cookie 插件和 jQuery 库。你做的一切都是对的。

无论如何要获得相关站点的链接以进一步调试它?

另见:https://github.com/carhartl/jquery-cookie

@suresh 阿塔

如果你给了号码,那么多少天就过期了,如果你想通过分钟怎么办??

默认情况下,将整数值设置为“expires:”将被解释为从创建时间开始的天数或 Date 对象。如果省略,cookie 将成为会话 cookie,并在浏览器会话结束或页面关闭后被删除。您不能设置分钟、天或会话的到期时间。

【讨论】:

  • \n 谢谢!我正在使用最新的 jQuery-cookie 插件,但它也发生了。不是每次,但有时会发生。
  • 你能解释更多关于“浏览器会话结束”的细节吗?
【解决方案2】:

将 30 分钟的值添加到当前时间,以指定在 30 分钟后结束此 cookie。

var date = new Date();
date.setTime(date.getTime() + (30 * 60 * 60 * 1000));
var myCookieValue = $.cookie('myCookie');
jQuery.cookie('myCookie', null);
jQuery.cookie('sid', 'sessionid', {expires: date, path: '/', domain: 'xici.net'});

【讨论】:

  • 不是30天吗?来自文档:***创建过期 cookie,从那时起 7 天:***: $.cookie('the_cookie', 'the_value', { expires: 7 });
  • 如果你给了号码,它会在几天后过期,如果你想通过分钟怎么办??
  • 使用您的解决方案。你传递了一个Date 对象。我最初将这个问题发布给 GreailsGuy,我还以为您也说“30 已成为过去”。
  • @Johnツ 一点也不 :) 我没有在“30 是过去”这句话中找到任何含义:P
猜你喜欢
  • 1970-01-01
  • 2012-09-21
  • 2020-08-28
  • 1970-01-01
  • 2021-11-29
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
相关资源
最近更新 更多