在我的應用程序中,我有一個AJAX調用,在用戶重新加載頁面(查看它們是否切換時區)之前POST用戶的時區(到同一頁面)。不幸的是,我無法訪問該帖子變量。ajax調用後訪問post變量
$(window).on('beforeunload', function() {
$.ajax({
type: "POST",
url: "ToDoApp.php",
data: {
timezone: userTimeZone
},
dataType: 'text'
});
});
我敢肯定這是因爲我的AJAX調用過程中,其次,當頁面重新加載實際重裝一次。但是,我一直在圈子裏呆了一個小時,似乎無法解決我的問題。
一旦頁面重新加載,我怎樣才能獲得timezone變量?
如果還有更好的方法來解決這個問題,我可以提出建議。
更多信息:
我需要在服務器端的時區變量進行時區轉換,因此我的AJAX調用。從下面我的評論:
所以這裏的兩難境地:我知道時區是更好的計算客戶 一側,我與Moment.JS做,但我需要的時區變量 做服務器側的時區轉換顯示該日期正確地爲 用戶。這就是爲什麼我[我想]需要一個AJAX呼叫,因爲沒有它 一旦頁面重新加載我的時區將只能在客戶端 側和我不能執行我的計算。
你不能可靠地使一個Ajax請求,當用戶離開,因爲沒有保證在瀏覽器關閉之前的請求將被完成。 – adeneo
我懷疑這裏存在大量的X/Y問題。如果您要重新加載頁面,爲什麼首先需要ajax調用? (這可能不起作用,請參閱adeneo的評論。)如果你需要客戶端的這個信息,把它存儲在客戶端(比如'sessionStorage'),但是好像我們對你的'如果真的想要完成,我們可以指出你朝着更好的方向發展。 –
@TJCrowder有***可能是巨大的問題:D所以這裏的困境:我意識到時區更好地計算客戶端,我正在做Moment.JS,但我需要時區變量做服務器端時區轉換可正確顯示用戶的日期。這就是爲什麼我[我想]需要一個AJAX調用,因爲沒有它,一旦頁面重新加載我的時區將僅在客戶端可用,我不能執行我的計算。我剛剛在這裏走了一圈嗎? –