ajax緩存問題
㈠ 如何禁用jquery ajax緩存
我們先看看這個問題是怎麼引起來的:
如果沒有進行額外設置的話,如果請求的地址和參數及參數的值完全一樣,就會發生jquery ajax使用緩存的情況。
jquery ajax使用緩存的解決方案:
1.在請求的url後面加上一個隨機參數(***.do?random=Math.random)這不失為一個好方法,缺點就是在所有的jquery ajax請求的地方都要加上這個隨機參數,新項目還行,老項目的花,這是個巨大的工作量。
2.給jquery ajax請求設置禁用緩存的全局設置
我們都知道在jquery ajax的的方法中有個cache參數,如果設置為false,那麼就不進行緩存。這么怎麼設置全局的jquery ajax cache參數呢?
答案就是ajaxSetup() 方法,該方法可以為所有的ajax請求統一設置默認參數。那麼可以設置如下代碼:
$(function(){
$.ajaxSetup ({
cache: false //關閉AJAX緩存
});
});
最後如果沒有common.js文件(所有頁面都調用的JS文件),那麼把這段代碼放到jquery庫文件裡面吧。
解答完畢!
㈡ ajax多次請求返回同一個內容(清除緩存)是怎麼回事
這個存放空間, 們就稱它為ie緩存。以後 們每次訪問網站時,ie會首先搜索這個目錄,如果其中已經有訪問過的內容,那ie就不必從網上下載,而直接從緩存中調出來,從而提高了訪問網站的速度。 設置ie緩存大小: 要提高ie的訪問速度,ie緩存是必不可少的。ie緩存默認安裝在系統區,而且會需要佔用較大的系統空間。所以如果你的系統空間的確很緊張,可以將緩存佔用的空間設得小一點,在ie的「工具」菜單下選擇「internet選項」,然後在「常規」選項卡中你會看到有「internet臨時文件」這一項,單擊「設置」按鈕,然後在彈出的「設置」對話框中將緩存大小設置為一個合適的值。你也可以直接將ie緩存移動到其它位置上去。 「internet臨時文件」下單擊「設置」,然後在「設置」對話框中單擊「移動文件夾」按鈕,在「瀏覽文件夾」中選擇文件夾,將ie緩存移動到其他地方,這樣就不必擔心ie緩存太大,佔用更多空間了。 ie緩存就是上網後留下的痕跡。 可以刪除。。刪除後會加快瀏覽器的速度`` 只有好處沒壞處` 為了提高訪問網頁的速度,internetexplorer瀏覽器會採用累積式加速的方法,將你曾經訪問的網頁內容(包括圖片以及cookie文件等)存放在電腦里。這個存放空間, 們就稱它為ie緩存。以後 們每次訪問網站時,ie會首先搜索這個目錄,如果其中已經有訪問過的內容,那ie就不必從網上下載,而直接從緩存中調出來,從而提高了訪問網站的速度。 2、點擊菜單欄中的「工具」菜單中的「internet選項」 3、在彈出的對話框中點擊「刪除文件」. 4、在彈出的對話框中」刪除所有離線內容」打勾,之後點確定.5、點擊確定後,滑鼠可能會變成比較忙的狀態,這是因為緩存較多的緣故,一般情況下十秒左右滑鼠就會恢復正常。之後再點擊右下角的「確定」退出。這樣電腦ie的緩存就清除完畢了。
㈢ ajax如何清除緩存
你好
很高興為您解答
解決辦法:
在提交時加上時間戮
㈣ ajax 緩存強制使用緩存無效
1.設置header的Context-Type為application/x-www-form-urlencode確保伺服器知道實體中有參數變數. 通常使用XmlHttpRequest對象的SetRequestHeader("Context-Type","application/x-www- form-urlencoded;")。例:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
2.參數是名/值一一對應的鍵值對,每對值用&號隔開.如 var name=abc&sex=man&age=18,注意var name=update.php?
abc&sex=man&age=18以及var name=?abc&sex=man&age=18的寫法都是錯誤的;
3.參數在Send(參數)方法中發送,例: xmlHttp.send(name); 如果是get方式,直接 xmlHttp.send(null);
4.伺服器端請求參數區分Get與Post。如果是get方式則$username = $_GET["username"]; 如果是post方式,則$username = $_POST["username"];
㈤ ajax請求 怎麼使用緩存查詢
把type:"post"改成type:"get",把cache:false改成cache:true試試
㈥ ajax的寫法對 禁止緩存有沒有影響! - 技術問答
一般為了防止客戶端緩存都加上時間戳guantq
發表於
2009-9-25
13:39[i]基本上都靠這個來避免緩存,動態可以用輸出header信息,靜態就只能靠在url上加時間戳
㈦ Web性能優化中,有一個利用ajax緩存。請問這個緩存具體如何操作
加入本地存儲的邏輯也可以。例如存入LocalStorage,維持一個時間戳。過期時再去請求新數據。
方法一:針對瀏覽器設置過期時間,在這個時間內的請求都會先請求本地緩存的文件和數據。另外jquery的ajax請求方式可以設置是否緩存,可以充分利用該選項。
方法二:js請求限制,可以設計成多少秒以內都不響應響應的操作,過期後的操作才會有效。點擊後僅返回一個模擬的結果。
方法三:ajax做dom緩存策略,比如在頁面放一個不可見的textarea,請求過來的數據同時寫入textarea的value,並且在一定時間內(可設置)的請求只去讀取textarea的內容,並將結果展示到頁面上。
㈧ JQuery中ajax如何緩存引入的js文件
認為CSS和JS不是AJAX時候載入的,是在CALLBACK里填充到現有頁面時載入的,可以在CALLBACK第一行打個斷點驗證一下,斷住時應該只有aa.php的請求。
如果猜測正確,可以在$('.page-content.page-content-body').html(res);之前,把res里的js地址替換了再插進去。
㈨ 前端開發怎樣實現ajax本地緩存
Cookie, localstorage