2011-07-15 51 views
1

每當AJAX頁面被調用時,我跑:PHP:在AJAX請求開始時使用setcookie不保存cookie後請求?

setcookie($filtersCookie, $cookieVal, time() + 86400); // 1 day 

,並刷新頁面時,我用下面的代碼,看看是否有任何過去的過濾器保存:

if(isset($_COOKIE[$filtersCookie])) { 

但頁面刷新後cookie不再存在。關於爲什麼會發生這種情況的任何想法?

setcookie在來自ajax調用的任何瀏覽器輸出之前使用。

回答

0

如果你的Ajax腳本駐留在另一個目錄以外的調用頁面,那麼你也應該使用path參數

setcookie($filtersCookie, $cookieVal, time() + 86400, "/"); // 1 day 

默認情況下,該cookie將可以從cookie設置的目錄中,使用「 /「將使其可用於所有路徑。

1

我不認爲瀏覽器會在ajax調用時攔截cookie。你可以做一些工作,比如從javascript設置cookie。