2009-11-24 62 views
1

我試圖設置一個cookie在特定的頁面上在另一個頁面上閱讀。我想知道爲什麼其他頁面沒有發送cookie。檢查發生了什麼事情顯示cookie 被設置爲,但未被髮送到服務器。我的理解是,如果沒有設置cookie的路徑,cookie將被髮送到域上的任何頁面,儘管我嘗試將path=/添加到cookie以防萬一。 Opera將Cookie標記爲「僅發送給創作者」,無論出於何種原因。我確定我錯過了一些簡單的東西。一些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 - 曲奇這裏
http://www.site.com/folder/page.aspx設置 - 曲奇應該送到這裏。 爲什麼不是?

+0

問題一:您正在使用Opera進行測試! – 2009-11-24 21:11:59

+0

@Josh:其實我正在測試多個瀏覽器。因爲這個設置我提到Opera。 – Brian 2009-11-25 14:24:31

回答

2

正如你自己說的,添加路徑:

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

如果它不工作,清除了所有Cookie,並重新開始。沒有路徑設置的舊餅乾可能會弄髒某些東西。

+0

當我嘗試設置路徑以希望修復它時,我輸入了錯誤信息。 :/ – Brian 2009-11-24 21:13:40

0

如果不明確設置path,肯定不會工作;如果你正在設置路徑,它肯定會工作。