我有一個PHP應用程序,它使用$ _SESSION全局來管理應用程序中的數據。但是我必須要更新的$ _SESSION的值時,一個小問題,這是我迄今所做的:
- 做的東西
- 未設置($ _ SESSION [「變種」])
- 做東西
- $ _SESSION ['var'] = newValue();
我打電話使用$.post()
這樣的PHP:
$('#id').click(function(){
$.post("page.php", function(data){
//do stuff
window.location = "goto.php";
})
})
goto.php
抓住從$ _SESSION [ '變種']的內容,構建一個新的HTML。
但是,當網頁轉到goto.php
時,它會加載使用最新版本$_SESSION['var']
創建的html。請注意,如果我刷新網頁,則會加載使用新的$_SESSION['var']
創建的新內容。
此外這不是一個常規的行爲,有時它沒有頁面重新加載正確加載。
我在做什麼這樣從根本上錯誤在這裏?
你檢查,它是通過清除緩存加載最新的網頁? – Sablefoste 2012-07-06 19:27:23
是的,只有通過刷新頁面才能獲得正確的內容。 @SableFoste – 2012-07-06 20:07:12
我不是專家,但顯然jQuery $ .post不會更新您的$ _SESSION變量,但因爲它是一個AJAX請求,顯示的當前頁面不會更改,直到刷新。您的原始頁面(您稱爲$ .post)goto.php,還是page.php或其他頁面? – Sablefoste 2012-07-06 20:43:24