當前位置:首頁 » 文件管理 » ajax瀏覽器緩存

ajax瀏覽器緩存

發布時間: 2023-07-17 07:06:05

① 有關jquery中ajax的緩存問題,怎麼解決

jquery中ajax的緩存問題需要增加參數cache:
$.ajax({
type: "GET",
cache: true,
url: 'aa.php',
dataType: "html",
cache: true,
success: function (res) {
$('.page-loading').remove();
$('.page-content .page-content-body').html(res);
});
這樣類似以下請求就可以緩存了:
aa.com/aa.php
aa.com/aa.css
aa.com/aa.js?_=1373600904652

② Js 代碼中,ajax請求地址後加隨機數防止瀏覽器緩存的原因

看到別人寫的JS,ajax請求地址後加隨機參數,比如XXXX?t=
+
new
Date().getTime()。
一開始搞不懂為什麼,網上查了資料,原因是防止瀏覽器緩存。
瀏覽器為了提高用戶訪問同一頁面的速度,會對頁面數據進行緩存。當url請求地址不變時,
有時候會導致瀏覽器不發送請求,直接從緩存中讀取之前的數據。
如果數據改變了,而沒加隨機數,讀取的數據會跟之前一樣。
加上隨機數,就是欺騙瀏覽器url改變了,會每次都向伺服器發送請求而不去讀緩存

③ Ajax問題:最新的瀏覽器(谷歌32,IE10,火狐24延長版)都自動阻止緩存了嗎

這個看瀏覽器的設置,加隨機數的方式顯然更穩妥的解決這個問題。
加隨機數之後,雖然地址沒變,但是瀏覽器依然會認為你請求的是新url,所以或直接請求伺服器,而沒有隨機數的話,請求動態的內容就很明顯了,比如資料庫內讀取的內容,那樣的內容多半會緩存,瀏覽器會直接讀取緩存而不是發送新的請求。

④ 用Ajax讀取的數據會被ie緩存,要怎麼辦

這個存放空間, 們就稱它為ie緩存。以後 們每次訪問網站時,ie會首先搜索這個目錄,如果其中已經有訪問過的內容,那ie就不必從網上下載,而直接從緩存中調出來,從而提高了訪問網站的速度。設置ie緩存大小:要提高ie的訪問速度,ie緩存是必不可少...

⑤ 如何禁用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請求請求數據緩存問題分析以及解決方案

在發送ajax請求的時候,為了保證每次的都與伺服器交互,就要傳遞一個參數每次都不一樣,這里就用了時間戳

大家在系統開發中都可能會在js中用到ajax或者dwr,因為IE的緩存,使得我們在填入相同的值的時候總是使用IE緩存

什麼是Ajax緩存原理?

Ajax在發送的數據成功後,會把請求的URL和返回的響應結果保存在緩存內,當下一次調用Ajax發送相同的請求時,它會直接從緩存中把數據取出來,這是為了提高頁面的響應速度和用戶體驗。當前這要求兩次請求URL完全相同,包括參數。這個時候,瀏覽器就不會與伺服器交互。

Ajax緩存的好處

這種設計使客戶端對一些靜態頁面內容的請求,比如圖片,css文件,js腳本等,變得更加快捷,提高了頁面的響應速度,也節省了網路通信資源。

Ajax緩存的不足

Ajax緩存雖然有上述的好處,但是如果通過Ajax對一些後台數據進行更改的時候,雖然數據在後台已經發生改變,但是頁面緩存中並沒有改變,對於相同的URL,Ajax提交過去以後,瀏覽器還只是簡單的從緩存中拿數據,這種情況當然就不行了。

四、解決Ajax緩存問題的方法

解決這個問題最有效的辦法是禁止頁面緩存,有以下幾種處理方法:

1、在ajax發送請求前加上 xmlHttpRequest.setRequestHeader(「Cache-Control」,」no-cache」);

2、在服務端加 header(「Cache-Control: no-cache, must-revalidate」);

3、在ajax發送請求前加上 xmlHttpRequest.setRequestHeader(「If-Modified-Since」,」0″);

4、在 Ajax 的 URL 參數後加上 "?fresh=" + Math.random(); //當然這里參數 fresh 可以任意取了

5、第五種方法和第四種類似,在 URL 參數後加上 "?timestamp=" + new Date().getTime();

6、用POST替代GET:不推薦

7、 jQuery 提供一個防止ajax使用緩存的方法:

javascript" language=" JavaScript ">

$.ajaxSetup ({

cache: false //close AJAX cache

});

8、修改load 載入的url地址,如在url 多加個時間參數就可以:

function loadEventInfoPage(eventId){

$.ajaxSetup ({

cache: true // AJAX cache  下面加上時間後load的頁面中的js、css圖片等都會重新載入,

//加上這句action會重新載入,但是js、css、圖片等會走緩存

});

$("#showEventInfo").load(ctx + "/custEvents/viewEvent.action",  {"complaint.Id":eventId, "tt":(new Date()).getTime()},function(){})

}

9、設置html的緩存

⑦ AJAXrequest.status為404怎麼清緩存

電腦上下載360安全衛士或者騰訊電腦管家,對系統進行清理,可以清理系統緩存

熱點內容
海控聯盟怎麼下載安卓版 發布:2025-02-04 04:55:52 瀏覽:763
妖盪三界安卓叫什麼 發布:2025-02-04 04:54:24 瀏覽:831
資料庫表的備份 發布:2025-02-04 04:53:50 瀏覽:560
python深度遍歷 發布:2025-02-04 04:53:50 瀏覽:135
愛感大黑牛怎麼連接安卓手機 發布:2025-02-04 04:41:31 瀏覽:219
publicftp 發布:2025-02-04 04:41:26 瀏覽:72
sqlserver超時 發布:2025-02-04 04:39:58 瀏覽:71
網路推理演算法 發布:2025-02-04 04:37:00 瀏覽:260
c怎麼存儲數據 發布:2025-02-04 04:31:12 瀏覽:63
奧迪q3行駛證如何查配置 發布:2025-02-04 04:28:26 瀏覽:329