Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS Cookie设置在两个位置,没有';不要覆盖第一组_Javascript_Cookies_Path - Fatal编程技术网

Javascript JS Cookie设置在两个位置,没有';不要覆盖第一组

Javascript JS Cookie设置在两个位置,没有';不要覆盖第一组,javascript,cookies,path,Javascript,Cookies,Path,我在两个不同的页面上使用相同的脚本来设置相同的cookie。我的假设是,即使这两个页面是(稍微)不同的路径,它们也会简单地覆盖cookie,而不是将条目复制到cookie中 我的第一页路径是: example.com/classifieds/business 我的第二页路径是: example.com/classifieds/business/search 所以,我的问题是,cookies是否依赖于页面;我是否可以强制他们覆盖现有值,而不是将自己的特定于页面的值写入cookie 以下是我的coo

我在两个不同的页面上使用相同的脚本来设置相同的cookie。我的假设是,即使这两个页面是(稍微)不同的路径,它们也会简单地覆盖cookie,而不是将条目复制到cookie中

我的第一页路径是:

example.com/classifieds/business

我的第二页路径是:

example.com/classifieds/business/search

所以,我的问题是,cookies是否依赖于页面;我是否可以强制他们覆盖现有值,而不是将自己的特定于页面的值写入cookie

以下是我的cookie与副本的外观:

domain=.example.com;路径=/;bdView=列;bdView=细节;domain=.example.com

设置域的代码(位于头文件中)

用于设置bdView的代码(位于单独的js文件中,我将其包含在两个页面中)


所以,我只是用错了饼干。我以为域和路径只是它们自己的东西,但实际上你应该用你试图设置的东西来设置它们

因此,它应该是这样的:

function setCookie(view) {
    var domain = window.location.host.split(/\.(.+)/)[1];
    switch (view) {
        case "column":
            document.cookie = "bdView=column; path=/; domain=" + domain;
            break;
        case "list":
            document.cookie = "bdView=list; path=/; domain=" + domain;
            break;
        case "detail":
            document.cookie = "bdView=detail; path=/; domain=" + domain;
            break;
    }
}

这看起来不对,cookie中不应该有两个
domain
字段。这是我的问题。它是重复的,而不是覆盖。请显示您的代码。Cookie是特定于文件夹的,除非您使用
path
选项将其指向父文件夹。这不是我对
path=/
所做的吗?
function setCookie(view) {
    switch (view) {
        case "column":
            document.cookie = "bdView=column";
            break;
        case "list":
            document.cookie = "bdView=list";
            break;
        case "detail":
            document.cookie = "bdView=detail";
            break;
    }
}
function setCookie(view) {
    var domain = window.location.host.split(/\.(.+)/)[1];
    switch (view) {
        case "column":
            document.cookie = "bdView=column; path=/; domain=" + domain;
            break;
        case "list":
            document.cookie = "bdView=list; path=/; domain=" + domain;
            break;
        case "detail":
            document.cookie = "bdView=detail; path=/; domain=" + domain;
            break;
    }
}