2014-06-24 82 views
0

我正在開發一個php項目,在該項目中,我提示用戶選擇他的城市並將其存儲到cookie中,然後使用它來過濾結果。PHP - 無法從同一頁面訪問更改的cookie值

問題是,當我更改城市和更新cookie中的值從主頁以外的頁面,我無法從cookie中讀取最新值(請注意,我使用jQuery cookie插件和是的,使用jquery刷新頁面)。但是,當我從瀏覽器工具檢查cookie值時,它顯示最新值。

另外我注意到一件事情,當我導航到其他頁面,我看到城市的變化,但刷新相同的頁面沒有幫助。

注:本項目產生的數據庫使用PHP動態HTML頁面和我讀的PHP代碼$ _COOKIE [「user_city」]

$('#storecity').submit(function(event){ 
     $frm = $(this); 
     var action = $frm.attr('action'); 
     $city = $frm.find('select[name=city]').val(); 
     $frm.find('*[type=submit]').attr('disabled', 'disabled'); 
     $frm.find('*[type=submit]').attr('value', 'loading...'); 
     var pageurl = $(location).attr('href'); 
     $.cookie('user_city', $city, { expires: 365, path: "/"}); 
     event.preventDefault(); 
     window.location.replace(pageurl); 
    }); 

注意餅乾:我剛纔注意到,在PHP工作正常只有頁面,但不是在我上面提到的生成的HTML頁面

更新:當我使用cookie插件檢查$ .cookie('user_city')時,cookie值被更改,但不在php $ _COOKIE ['user_city' ]。

回答

0

直到下次加載該Cookie應該可見的頁面時,Cookie纔會變得可見。

這句話從Here

+0

來到我沒有使用jQuery代碼的頁面刷新,請看看我的代碼 – HusainItIs

+0

嘗試通過location.reload(真),以取代window.location的;並測試cookie –

+0

輸出沒有變化。生成的html頁面只會給我帶來麻煩 – HusainItIs