2011-07-22 61 views
0

我實現了Post-Redirect-Get模式,以避免刷新網頁時用戶有機會重新發布數據的問題。已實施Post-Redirect-Get,現在無法使用後退按鈕

服務器端使用位置標題和「302對象移動」完成重定向。

直到現在,當我點擊後退按鈕瀏覽表格到原始頁面(從表單到達原始頁面)時,只要我在帖子頁面上着陸,它就會重定向,踢我而不是讓我繼續回顧歷史。

有沒有辦法解決這個問題? javascript:window.location.href = window.location.href

重新訪問表格,輸入新的數據並重新發布很好。但我希望實際發佈的事件本身完全落後於歷史。爲什麼瀏覽器甚至會放入歷史堆棧URL中,以返回永久重定向?

更新

顯然我錯了的東西。我剛剛測試了一個普通的重定向獲取的簡單香草案例,後退按鈕按預期工作。對不起,浪費你的時間...

+0

聽起來就像您使用客戶端語言而不是服務器端語言來實現PRG。這是真的?你是如何實施PRG的? – BalusC

+0

@Balus顯然我誤解了一些東西。我剛剛測試了一個普通的重定向獲取的簡單香草案例,後退按鈕按預期工作。對不起,浪費你的時間...我想這個問題應該刪除或至少改革,以使其他人更有用。 – ErikE

+0

也許您在測試之前沒有清理瀏覽器緩存,並且舊頁面仍在瀏覽器緩存中。 – BalusC

回答

0

推薦的重定向方法是HTTP 302 Found迴應,Location:標題。

如果您嘗試使用Javascript,則location.replace(url)會導航到新的網址,同時替換瀏覽歷史記錄中的當前網址。

+0

顯然我誤解了一些東西。我剛剛測試了一個普通的重定向獲取的簡單香草案例,後退按鈕按預期工作。抱歉浪費你的時間... – ErikE