我正在處理一個確定客戶端時區偏移的分配,並將其傳遞給一個PHP腳本,該腳本包含一個用於獲取該客戶區域的時區標識的代碼。對一個PHP頁面問題使用AJAX調用
現在爲了確定時區偏移量,我使用了JavaScript。不過,我需要一些方法將它傳遞給PHP。我用同樣的AJAX調用。
var url = "index.php";
url=url+"?client_timezoneoffset="+offset;
xmlhttp.open("GET",url,true);
xmlhttp.send(true);
這個JavaScript我叫onload index.php。但是$ _GET仍然是空的。 我扭曲這個實現,並調用另一頁set_client_timezone.php 在哪裏讓我驚訝,$ _GET包含時區。然後我將它存儲在$ _SESSION中。
當我做了一個應用程序的全面測試,令我驚訝的是,時區變化反映在頁面的第二次加載。
即我第一次導航到http://www.example.com/index.php時,它顯示了UTC的時間,但是當我重新加載時,它顯示了我的時區 - 亞洲/加爾各答的正確時間。
你們中的任何一個人都可以提出我擺脫這種悖論的方法嗎?
任何人都可以點我達到同樣的標準方式(我已經準備好回滾我當前的實現)
我張貼在這個論壇的第一次,因此衷心的道歉,如果我的帖子藐視任何這個論壇的規則。
乾杯,
Abhijit。
感謝您的快速回復。我使用JavaScript來確定客戶端時區偏移量,具體取決於我需要爲我的PHP腳本設置默認時區... – Abhijit 2010-07-31 09:58:50
您如何確定時區?是不是也可以通過PHP?除此之外,我能想到的唯一解決方案是,通過ajax加載所有內容(或者所有與時區相關的內容)。所以你可以確定你已經知道用什麼時區來顯示相應的數據集。 – enricog 2010-07-31 10:49:22
請參閱http://www.example.com/index.php的頁面加載我調用上面的JavaScript,它以秒爲單位返回偏移量。 我使用GET將其傳遞給set_client_timezone.php頁面。在這個頁面中,我將它設置爲$ _SESSION。 – Abhijit 2010-07-31 11:59:47