2009-10-01 51 views
1

那麼我現在有一個非常粗糙的gomoku版本。 我正在使用Jquery,Php和mysql數據庫。HTML jQuery響應緩存在IE上

當用戶點擊棋盤正方形放置棋子時。 ajax刷新確定是否增加了轉數,並在必要時更新董事會的html。

問題是Internet Explore(6,8,&可能是7)在首次訪問時緩存頁面。即使手動刷新頁面,緩存的內容仍會保留。

我試過,沒有運氣的HTML頁面上使用

<META HTTP-EQUIV="cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 

。獲取更新的唯一方法是通過工具刪除文件。

我希望這是足夠的信息。如果沒有,我會盡力回答問題。


更新3 我得到它的工作我用.ajaxSetup 感謝鳳凰,TIM,和大家一樣。

+0

您也可以設置您請求不緩存的頁面的標題。 – Sam152 2009-11-16 07:17:25

回答

6

每次在AJAX請求的末尾添加一個隨機數字以使請求URL不同。

您將提交給服務器的信息的隨機位可以是數字(越大越好),隨機字符串或時間戳。

var url = 「http://domain?myParameters=values&pseudoParam= "+new Date().getTime(); 

編輯:

如果你想建立全局設置爲AJAX請求,那麼你可以使用

jQuery.ajaxSetup(options)

,並設置緩存關閉

jQuery.ajaxSetup({ cache: false }); 

對於每個請求T優可以使用

jQuery.ajax(options)

和緩存設置爲false,通過@Tim

指出
+0

我正要說+1 – 2009-10-01 04:52:31

+0

+1這個不錯的lil hack – 2009-10-01 04:55:27

+0

我把ajaxSetup函數放在我的腳本的任何地方嗎? – 2009-10-01 05:11:07

2

你可以嘗試 「緩存:假」

$.ajax({url: "url", success: myCallback, cache: false}); 
0

這是一個默認的IE瀏覽器的行爲。我通過在請求中添加隨機數來避免這種情況。

0

我剛剛發現了這件事:

jQuery.ajaxSetup({緩存:假});