【问题标题】:jQuery cookie behaves differently on local machine vs production serverjQuery cookie 在本地机器和生产服务器上的行为不同
【发布时间】:2012-11-22 08:22:31
【问题描述】:

我正在为一些网站的 javascript 效果设置一个 jQuery cookie。我将到期日期设置为 30 天。

在本地开发机器上,cookie 过期设置正确,而在生产机器上,cookie 过期设置为会话结束。使用 web 开发工具检查创建的 cookie 后,除了生产机器 cookie 被标记为“会话 cookie”并且不允许设置过期之外,一切都相同,而在本地开发机器上创建的 cookie 没有设置为“会话”并且过期日期是可编辑的。

有没有办法让生产机器cookie接受过期日期?

这是我设置 cookie 的方式:

$.cookie('skip_animation','skip', 2592000);

使用 jQuery 1.6.4(旧网站)

所有浏览器的行为方式都相同

【问题讨论】:

  • 您可以发布您的 cookie 代码吗?您的生产和开发 jQuery 版本之间的一切是否一致?
  • 需要查看您的代码以了解如何创建 cookie。在您发布更实质性的内容之前,您只会得到随机猜测和其他垃圾。
  • 您是否可以为不同的网络类型(家庭网络和公共网络)设置不同的浏览器首选项?您是否尝试过使用其他浏览器?无论如何,不​​能信任 cookie ;)
  • @jchapa 用 cookie 代码更新了帖子。

标签: jquery cookies session-cookies


【解决方案1】:

这是什么语法?根据https://github.com/carhartl/jquery-cookie/blob/master/README.md,第三个参数应该是一个对象。给它一个 'expires' 属性在几天内给 cookie 一些生命周期。

【讨论】:

    【解决方案2】:

    原因很可能与 jQuery 或其 cookie 插件无关。

    请搜索相关浏览器设置、协议(http 与 https)和 URL 的差异。

    编辑:生产服务器上的时间设置正确吗?会话 cookie 是否传输到服务器(浏览器不知道它是 JS-only)?也许cookie被某些组件主动重置?

    【讨论】:

    • 浏览器相同,在两个实例中都使用http
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多