我的代碼使用javascript(使用jQuery的cookie插件)設置cookie,然後對需要讀取該cookie的php腳本進行ajax調用。看起來,jQuery cookie插件有一個bug,因爲PHP腳本無法讀取這個cookie。此外,當我查看Chrome的資源面板時,我沒有看到相關域下的cookie。另外,如果我使用Javascript的標準document.cookie方法設置cookie,Cookie將出現在參考資料面板中,我的PHP腳本能夠讀取它。我想使用jQuery插件的主要原因是因爲我設置的cookie值有換行符,並且jQuery cookie插件似乎很好地處理了這個問題。這是一個將存儲在MySQL數據庫中的值,輸出時這些換行符會自動轉換爲(br)和(p)標籤。所以jQuery cookie插件似乎給了我想要的價值......但不是在一個真正的cookie!jQuery Cookie插件似乎並沒有設置cookie
無論如何,這是我使用的代碼。隨意告訴我如何在不使用jQuery cookie插件的情況下維護我所需的換行符,而不是試圖弄清楚插件/我的插件的實現出了什麼問題。
的Javascript:
$.cookie('flavor','chocolate',{expires:7});
$.get('http://example.com/readCookie.php',function(data){
console.log(data);
});
readCookie.php
$myCookie = $_COOKIE['flavor'];
echo $myCookie;
的 '迴響' 上述聲明不迴應任何事情,甚至不是一個空字符串。如果我嘗試使用cookie的var_dump,我會得到NULL。但是,我可以在控制檯中輸入$ .cookie('flavor')並確定它已經設置好了。但正如我之前所說,它沒有出現在Chrome的開發工具的資源面板中,所以我不相信它實際上是一個真正的cookie ......並且我的PHP腳本似乎也同意這個疑問:)
是的,這是一個錯誤。我已經相應地更新了這篇文章。當我將域名更改爲window.location.host時,會發生同樣的情況。它實際上似乎是jQuery cookie插件的問題。我已經更新了我的帖子,並提供了相關信息。 – maxedison 2011-02-17 23:26:56