我遇到了一個我正在開發的網站/應用程序的問題。這實際上是一個共同原因的兩個問題。我正在使用jQuery,jQueryMobile和PHP。jQuery:緩存阻止頁面正確加載
我使用一個用戶名和密碼在PHP會話和用戶鍵入登錄系統,然後記錄。在接下來的頁面,有檢查,以確保它們被登錄爲授權用戶(如果他們只是使用URL)和一個「註銷」按鈕。如果他們註銷並嘗試通過URL訪問該頁面,則拒絕訪問,但是當按下「註銷」將其帶入登錄表單並且如果他們使用瀏覽器的後退按鈕,它將使其返回到「已登錄「頁面,因爲它被緩存。
我有一個表單提交onChange下拉表單將做一些在PHP中的東西,然後將它們鏈接到另一個頁面的頭(「location:site/page.php」)。如果用戶按下瀏覽器的「後退」按鈕,則頁面將從緩存中加載,並且當前下拉值將被設置爲它們之前選擇的值。現在,要再次觸發相同選項上的onChange事件,他們必須將下拉列表更改爲默認的「選擇一個」選項,然後返回到他們想要的選項。
這兩個問題似乎都來自緩存。如果有一個有效的解決方案,我會喜歡這一點,但如果我需要關閉緩存,我明白這將影響速度,現在可以。我試圖通過使用這個關閉緩存:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="/css/themes/CLIPTheme.css" />
<script language="text/javascript">
$(document).bind("mobileinit", function() {
$.mobile.ajaxEnabled = false;
});
</script>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
</script>
...但那是行不通的。如果有人能幫助我,我會非常感激!