我正在尝试在特定页面上设置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应该发送到这里。 为什么不是?
答案 0 :(得分:2)
正如你自己所说,添加路径:
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString()+" ;path=/");
如果无效,请清除所有Cookie并重新开始。没有路径设置的旧cookie可能会弄乱一些东西。
答案 1 :(得分:0)
如果没有明确设置path
,它肯定无法运作;如果你正在设定路径,它当然应该有效。