我在彈出窗口中有一個表單。用戶填寫詳細信息並提交表單。在表單提交時,彈出窗口關閉,用戶重定向到主頁。提交時,主屏幕上會顯示一條消息(表單提交是否成功)。這是通過在主頁上添加一個參數來完成的。在刷新頁面時更改獲取URL參數
當用戶打開網站時,網址將是..../home
。用戶點擊彈出按鈕並提交表單。
成功時,該URL將被重定向到..../home?error=0
失敗時,URL將被重定向到..../home?error=1
基於錯誤標誌值,我在首頁上顯示的消息。
完成此步驟後,如果用戶刷新主頁,他仍然會收到表單提交消息,因爲錯誤標記存在於url中。但刷新後,我不想在主頁上顯示消息。
所以,我試圖刪除/設置頁面刷新錯誤標誌使用下面的代碼。
> $(window).unload(function() {
> var currentURL = window.location.href;
> var index = currentURL.indexOf("?error=");
> if(index > -1) {
> window.location.href = currentURL.substring(0, index);
> } });
它適用於Firefox,但不適用於Chrome。未在其他瀏覽器中測試過。但jQuery卸載在1.8中已被棄用。
如何刪除/設置頁面刷新錯誤標誌?還是有其他方法可以在頁面刷新後不在主頁上顯示消息。該解決方案應工作在所有主要瀏覽器(IE,Chrome瀏覽器,火狐歌劇,Safari)。
注:這是Change the URL on page refresh
感謝您的幫助的延續!
這是行不通的,因爲當用戶按下F5 Chrome會建議重新發送POST數據。您不能在不使用重定向的情況下在服務器端取消設置POST數據。 – dmikam 2014-09-30 07:49:09
是的你可以,只需設置$ _POST ['error'] =「」例如 – 2014-09-30 07:50:54
這將取消設置當前進程的POST變量,但是如果瀏覽器窗口刷新 - 瀏覽器將發回相同的數據。 – dmikam 2014-09-30 07:52:18