【问题标题】:JQuery $.cookie (domain:) causing cookie not to setJQuery $.cookie (domain:) 导致 cookie 未设置
【发布时间】:2011-05-12 20:53:17
【问题描述】:

您好,下面的代码根据单击的链接 ID 设置 Cookie(即值),这可行,但是需要设置域,我已经阅读了如何通过在值中设置域来做到这一点,当我设置了域它根本不会设置cookie

工作:

jQuery(document).ready(function(){
    $(".htabs a").click(function(e){
        $.cookie('siteVistedCookie', $(this).attr("id"), { expires: 7, path: '/'});
        });
    });

不工作

jQuery(document).ready(function(){
    $(".htabs a").click(function(e){
        $.cookie('siteVistedCookie', $(this).attr("id"), { expires: 7, path: '/', domain: 'www.xample.com' });
        });
    });

【问题讨论】:

  • 你确定 www 吗?尝试 omain: 'xample.com'
  • 应用程序是否在www.xample.com 运行?

标签: jquery


【解决方案1】:

这里只是猜测,但是如果您尝试设置的域不是页面所在站点的域,那么域(主机)将不会在 cookie 中设置为您键入的内容cookie 设置器中的域。

换句话说,如果域不是托管页面的域,则您正在尝试设置大多数现代浏览器不允许的第三方 cookie。

除非您的站点是 xample.com,并且您将页面作为 xample.com/testcookie.html(或您所称的测试页面)运行,否则 cookie 的域(主机)不会设置为 xample。 com.

【讨论】:

    【解决方案2】:

    在没有域设置的情况下运行脚本,然后查看它设置的 cookie。它显示什么域?它是否与您放入域属性的内容相匹配?

    Cookie 域必须设置为页面所在的相同(子)域。例如,如果您的页面在

    http://www.somesite.com/page.html

    您可以将您的 cookie 域设置为

    www.somesite.com www子域设置它

    .somesite.com somesite.com 的任何子域设置它

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多