有些cookie没有发送到服务器

时间:2009-11-24 21:00:27

标签: javascript cookies

我正在尝试在特定页面上设置cookie以在另一页面上阅读。我想知道为什么其他页面没有被发送cookie。检查发生的事情表明cookie 正在被设置,但是没有被发送到服务器。我的理解是,如果没有设置cookie的路径,cookie将被发送到域上的任何页面,尽管我尝试将path=/添加到cookie中,以防无论如何都会有所帮助。 Opera出于任何原因将cookie标记为“仅发送给创建者”。我确定我错过了一些简单的事情。

<script type="text/javascript">
    function setCookie(c_name,value,expiredays)
    {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString());
    }
    setCookie("mycookie",document.location.href,7);
</script>


http://www.site.com/Folder/subfolder/page.aspx - Cookie设置在这里
http://www.site.com/folder/page.aspx - Cookie应该发送到这里。 为什么不是?

2 个答案:

答案 0 :(得分:2)

正如你自己所说,添加路径:

document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString()+" ;path=/");

如果无效,请清除所有Cookie并重新开始。没有路径设置的旧cookie可能会弄乱一些东西。

答案 1 :(得分:0)

如果没有明确设置path,它肯定无法运作;如果你正在设定路径,它当然应该有效。