2013-02-19 11 views
2

客戶端在點擊結果後要求用戶返回到滿是搜索結果的頁面。現在它是一個簡單的jQuery調用:window.history.back()顯示「Document Expired」頁面,有什麼辦法呢?

$('a.detail-back-button').on('click', function(evt) { 
    evt.preventDefault(); 
    window.history.back(); 
}); 

但是,這顯示了Firefox中的「文檔已過期」頁面。我知道這是爲了安全,但客戶希望這實現了反正。我做了一些摸索我發現一個PHP解決問題的辦法......

session_cache_limiter('private_no_expire') 

...但是這是一個基於Django的網站。還有其他解決方案嗎?

UPDATE 13年2月21日

以下作品中的解決方案,但僅適用於不在IE瀏覽器。 IE8/9/10似乎沒有重新請求上一頁。有沒有IE解決方法?

回答

5

這與編碼請求的定義非冪等性質有關。即一個POST是一個有效果的行爲,因此是不安全的重複。爲防止意外發生,一些瀏覽器在重新提交原始表單之前顯示一個帶有確認消息的佔位符頁面。

最可靠的解決方案 - 可能是唯一的解決方法 - 是使用GET方法代替提交表單,這無論如何都是合理的。

+1

切換到GET提交工作,謝謝! – Don 2013-02-19 19:48:15

+0

這個解決方案的工作,但似乎IE8/9/10不想重新請求上一頁。有任何想法嗎? – Don 2013-02-21 22:20:23

相關問題