2012-07-27 51 views
1

我使用ajax調用來調用一個php腳本,該腳本通過睡眠等待40秒,然後輸出RELOAD。在JavaScript中,輸出被檢查爲RELOAD,如果是,則再次開始呼叫。回覆歷史記錄後,在Firefox中使用Ajax調用緩存

這在我使用這個頁面的每一頁上都很好。但在Firefox中,在特定情況下有一個問題。

我在這個頁面上做這些調用,然後點擊一個鏈接到另一個頁面。之後,我通過點擊歷史(後退)按鈕返回。在這種情況下,調用確實開始,但Firefox似乎緩存了結果並立即輸出RELOAD。這導致調用只需要幾毫秒的時間來加載,而我沒有得到任何實際的內容。它甚至沒有連接到服務器(我改變了php文件,而ajax調用繼續進行,但它沒有影響)。

因此,Firefox似乎在使用後退按鈕(或也是javascript:history.back())的情況下,似乎使用緩存輸出僅限於。如果我加載頁面正常(通過鏈接或在地址欄中輸入url),這些調用會正確地到達服務器並獲取實際內容。

有沒有一種方法可以覆蓋來自PHP或JavaScript的這種行爲?我正在使用jQuery.ajax(),並設置了「cache:false」選項。

謝謝你的幫助!

+1

緩存清除,'$阿賈克斯({...緩存:假的,...});'。 – 2012-07-27 12:29:00

+0

編輯:我已經設置了這個選項,我忘了提及。 – 2012-07-27 12:29:59

+1

您是否嘗試過使用遞增值向URL添加參數的簡單操作,以便URL每次都不相同? – Pointy 2012-07-27 12:30:11

回答

0

我只是通過增加一個隨機數的URL解決了這個問題。這個解決方案確實有效,但它根本不是一個非常漂亮的解決方案。

相關問題