當前位置:首頁 » 文件管理 » ajax清除緩存

ajax清除緩存

發布時間: 2023-02-20 02:12:18

『壹』 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的緩存

『貳』 如何禁用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庫文件裡面吧。

解答完畢!

『叄』 「mvc3使用微軟自帶的ajax載入分部視圖,如何清除緩存」

建議別使用微軟的,換成jquery多好用~

『肆』 AJAXrequest.status為404怎麼清緩存

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

『伍』 使用ajax是出現網頁上有錯誤怎麼解決

"網頁上有錯誤原因:
1.網頁本身的問題,目前許多網站都是用的免費共享型模板,一般這樣的模板都存在不通用,原模板的所有js(javascript)腳本可能又沒有被完全用到。加之設計者的水平或是疏忽等問題。導致在頁面上找不到js對象。就會顯示出網頁有問題的現象。
2.用戶電腦本身問題。如是用的瀏覽器的版本問題,或者所瀏覽頁面需要某些插件和組件,可能曾經設置屏蔽和沒有安裝都可能出現網頁上有錯誤問題。
3.惡意病毒和流氓插件引起。許多網民在不知情的情況下,安裝一些帶有流氓捆綁插件的安裝程序,這樣的情況也容易導致出現網頁上有錯誤。

網頁上有錯誤解決方案
首先,我們來介紹下手動解決網頁上有錯誤解決方法(操作較繁瑣)
1、點擊「開始」菜單,打開「運行」。
2、輸入regsvr32 jscript.dll後選擇「確定」。 出現提示(jscript.dll中的DIIRegisterServer成功)後,點擊「確定」。
3、再次輸入regsvr32 vbscript.dll選擇「確定」。 再一次出現提示(vbscript.dll中的DIIRegisterServer成功)後,點「確定」。 經過以上兩次成功提示,說明已成功修復IE組件。
4、將瀏覽器的過濾等功能關閉後,清除一下瀏覽器的緩存(工具->Internet選項->(在Internet臨時文件框中-刪除Cookies),再點Internet臨時文件框中刪除文件(記得勾上刪除所有離線內容),確定後,然後再重新打開瀏覽器嘗試!
軟體解決網頁上有錯誤
下載金山毒霸2011——病毒查殺——快速掃描,金山毒霸2011在清除電腦內捆綁的惡意插件以及盜號木馬病毒的同時能智能修復電腦中存在的問題。"
按照我的方法操作解決問題,不行再問我。

『陸』 瀏覽器緩存可以清理嗎

問題一:怎麼樣清理瀏覽器緩存垃圾 使用瀏覽器會逐漸累積垃圾,導致計算機的運行過慢,因此保持日常性的清理是非常有必要的;
清理垃圾的操作可以分為瀏覽器本身清理或者採取電腦管家類的保護進行清理;

瀏覽器本身清理(以搜狗瀏覽器為例),點擊瀏覽器工具選項,進入工具管理,點擊清除瀏覽記錄,在彈出窗口界面勾選需要清理的記錄內容,點擊立即清除即可;

利用瀏覽器以外的安全防護軟體進行清理(以QQ管家為例),點擊清理垃圾,等待掃描垃圾,掃描完成後點擊立即清理完成清理即可。

問題二:IE瀏覽器怎麼清理緩存 操作方法:請您點擊任何一個網頁上方的「工具」,選擇「Internet選項」,然後彈出一個小窗口,以下是IE瀏覽器6.0、7.0、8.0的簡單說明。 IE6.0 工具――Internet選項――刪除Cookies、刪除文件(勾選刪除離線文件) IE7.0 工具――Internet選項――刪除――全部刪除(勾選「也刪除載入項存儲的文件和設置」) IE8.0 工具――Internet選項――刪除――勾選Internet臨時文件、cookie(不勾選保留收藏夾網站數據),點擊刪除 下面是IE瀏覽器5個不同版本的操作圖,請您根據自己使用IE瀏覽器版本不同操作: IE6.0的瀏覽器: IE7.0的瀏覽器: IE8.0的瀏覽器: 搜狗(sogou)瀏覽器: 360瀏覽器: 下面補充一下IE9.0瀏覽器 點擊「刪除」,在打開的新窗口中取消勾選「保留收藏夾網站數據」,勾選其它選框,點擊「刪除」即可。 其他瀏覽器: 世界之窗(Theworld 3) 菜單欄 工具-----清除瀏覽記錄 選擇要清理的內容,點擊「立即清理」即可。 火狐瀏覽器(Firefox 4) 菜單欄 工具-------清空最近歷史記錄 彈出界面,單擊「詳細信息」 選擇要刪除的內容,選擇歷史記錄的時間,單擊「立即清除」即可。 360極速瀏覽器(360 chrome) 右側「扳手」圖標-------工具-------清除瀏覽數據 選擇要清除的內容和時間,單擊「清除瀏覽數據」即可。 網路瀏覽器 點擊右側齒輪狀圖標-------清除瀏覽記錄 彈出對話框 選擇需要清除的時間和內容,單擊「清除」即可。 谷哥瀏覽器(Google Chrome) 右側「扳手」圖標-------工具-------清除瀏覽數據 彈出對話框,選擇清除內容和時間,單擊「清除瀏覽數據」即可。 傲遊瀏覽器(Maxthon 2) 菜單欄 工具------清除記錄 彈出對話框 選擇你要清除的內容,單擊「開始清除」即可 Opera 11 工具欄 菜單-------設置--------刪除私人數據 彈出對話框,點擊「詳細選項」 選擇你要刪除的內容,單擊「刪除」即可 騰訊TT瀏覽器 菜單欄 工具-------清除瀏覽記錄 彈出對話框 點擊「全選」------「清除」即可。 蘋果瀏覽器(Safari) 點擊右側齒輪狀圖標--------勾選顯示菜單欄 菜單欄 編輯-------清空緩存 彈出確認對話框,點擊「清空」。 菜單欄 歷史記錄------清除歷史記錄 彈出對話框,點擊「清除」。 註:更多精彩教程請關注三聯軟體使用欄目

問題三:如何清除瀏覽器緩存? 瀏覽器緩存(Browser Caching)是為了節約網路的資源加速瀏覽,瀏覽器在用戶磁碟上對最近請求過的文檔進行存儲,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁碟顯示文檔,這樣就可以加速頁面的閱覽。
清除緩存的方法:

IE瀏覽器:

打開IE,選擇「工具--internet選項」,切換到「高級」選項卡,找到「關閉瀏閥器時清空internet臨時文件夾」,並將其選中,確定即可;

Mozilla Firefox 瀏覽器:

a、單擊瀏覽器頂部的Tools(工具)菜單,並選擇Options(選項);

b、單擊Privacy(隱私);

c、單擊Cache(高速緩沖)旁邊的Clear(清空緩存);

d、單擊OK(確定);

Mozilla、Netscape瀏覽器:

a、注銷您的 AdSense帳戶。關閉所有其他打開的瀏覽器窗口;

b、單擊瀏覽器頂部的Edit(編輯)菜單,然後選擇Preferences(首選項);

c、單擊Advanced(高級)旁邊的+;

d、單擊Advanced(高級)下面的Cache(高速緩存);

e、單擊Clear Cache(清除高速緩存);

f、單擊OK(確定);

Safari 瀏覽器:

a、注銷您的 AdSense 帳戶。關閉所有其他打開的瀏覽器窗口;

b、打開瀏覽器工具欄中的Safari菜單;

c、選擇Empty Cache(清空緩存);

d、單擊該對話框中的Empty(清空)。

問題四:瀏覽器緩存的臨時文件可以刪除嗎 可以,瀏覽器緩沖文件的作用是暫時保存網頁里觸素材,使下次打開相同網頁時速度會快一些。刪除後完全不會影響到使用。定期清理瀏覽器緩存可以釋放磁碟空間,是個好習慣。

問題五:清理IE緩存什麼意思對電腦有沒有用 每次上網打開的網頁在電腦上都會有記錄.這些記錄會佔用很大的空間.所以需要手動地刪除.
但是,如果你打開的網頁是你以前曾瀏覽過的,也就是IE緩存里有的,則打開的速度要快些.所以如果你刪除IE緩存,會影響打開網頁的速度.

因此,建議你過一段時間再刪除一次.

問題六:網路瀏覽器怎麼清理緩存 打開網路瀏覽器最新版本7.0,點擊右上角「三」菜單

問題七:如何徹底清除瀏覽器的緩存? 最好卸載了重新安裝,徹底。
也可以換個好點的瀏覽器,我現在用的QQ瀏覽器清理緩存功能很好。

它是採用的國產單核瀏覽器,基於谷歌Chrome開源項目,速度是剛剛的。

用它瀏覽網頁的時候,可以瞬間開啟20多個網頁。我經常開視頻,在上面一點也沒有感覺卡,

純屬個人建議。供你參考。

問題八:能用JS或者前端的什麼方法實現清除瀏覽器緩存嗎 meta方法
不緩存

清理form表單的臨時緩存

其實form表單的緩存對於我們書寫還是有幫助的,一般情況不建議清理,但是有時候為了安全問題等,需要清理一下!

jquery ajax清除瀏覽器緩存

方式一:用ajax請求伺服器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:

$.ajax({

url:'haorooms',

dataType:'json',

data:{},

beforeSend :function(xmlHttp){

xmlHttp.setRequestHeader(If-Modified-Since,0);

xmlHttp.setRequestHeader(Cache-Control,no-cache);

},

success:function(response){

操作

}

async:false

});

方法二,直接用cache:false,

$.ajax({

url:'haorooms',

dataType:'json',

data:{},

cache:false,

ifModified :true ,

success:function(response){

操作

}

async:false

});

方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!

URL 參數後加上 ?ran= + Math.random(); 當然這里參數 ran可以任意取了

方法四:用隨機時間,和隨機數一樣。

在 URL 參數後加上 ?timestamp= + new Date().getTime();...>>

『柒』 JS如何清除IE瀏覽器緩存

一、CSS和JS為什麼帶參數(形如.css?t=與.js?t=)怎樣獲取代碼
css和js帶參數(形如.css?t=與.js?t=)
使用參數有兩種可能:
第一、腳本並不存在,而是服務端動態生成的,因此帶了個版本號,以示區別。 即上面代碼對於文件來說 等價於 但瀏覽器會認為他是 該文件的某個版本!
第二、客戶端會緩存這些css或js文件,因此每次升級了js或css文件後,改變版本號,客戶端瀏覽器就會重新下載新的js或css文件 ,刷性緩存的作用。
第二種情況最多,也可能兩種同時存在。
版本號,可以是一個隨機數,也可以是一個遞增的值,大版本小版本的方式,或者根據腳本的生成時間書寫,比如就是精確到了生成腳本的秒,而 2.3.3 就是大版本小版本的方式。
二、關於瀏覽器緩存
瀏覽器緩存,有時候我們需要他,因為他可以提高網站性能和瀏覽器速度,提高網站性能。但是有時候我們又不得不清除緩存,因為緩存可能誤事,出現一些錯誤的數據。像股票類網站實時更新等,這樣的網站是不要緩存的,像有的網站很少更新,有緩存還是比較好的。今天主要介紹清除緩存的幾種方法。
清理網站緩存的幾種方法
meta方法
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0">123

清理form表單的臨時緩存
方式一:用ajax請求伺服器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");
},
success:function(response){
//操作
}
async:false
});12345678910111213

方法二,直接用cache:false,
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,

success:function(response){
//操作
}
async:false
});123456789101112

方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!
URL 參數後加上 "?ran=" + Math.random(); //當然這里參數 ran可以任意取了eg:
<script>
document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>");
</script>

其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以 12345678

方法四:用隨機時間,和隨機數一樣。
在 URL 參數後加上 "?timestamp=" + new Date().getTime(); 1

php後端清理
在服務端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)1

方法五:
5、window.location.replace("WebForm1.aspx");
參數就是你要覆蓋的頁面,replace的原理就是用當前頁面替換掉replace參數指定的頁面。
這樣可以防止用戶點擊back鍵。使用的是javascript腳本,舉例如下:
a.html
以下是引用片段:
<html>
<head>
<title>a</title>
<script language="javascript">
function jump(){
window.location.replace("b.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">b</a>
</body> </html> b.html
以下是引用片段:
<html>
<head>
<title>b</title>
<script language="javascript">
function jump(){
window.location.replace("a.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">a</a>
</body> </html>

轉載地址:http://www.haorooms.com/post/js_llq_hc

『捌』 jquery的輪詢使用ajax導致內存溢出問題

你這種情況就不應該用輪詢,而應該在ajax的回調函數(最好是complete)中再次發起下一次請求,這樣就可以保證每次請求都是在上一次請求結束後才發起的,這樣就不會造成崩潰了。比如:

function xxx(){

$.ajax({

url:"......",

data:{......},

success:function(data){

//處理返回數據

},

error:function(){

//處理錯誤

},

complete:function(){ //不管成功與失敗,都會發生complete回調

setTimeout(xxx,5000); //5秒後再次發起ajax請求

//也可以直接用 xxx();可以做到完全實時,但會犧牲一些性能

}

});

}

特別注意,xxx函數在外部調用時,不能再用setInterval,而應該是xxx()直接調用!

『玖』 有哪些清除瀏覽器圖片緩存的方法

瀏覽器緩存,有時候我們需要他,因為他可以提高網站性能和瀏覽器速度,提高網站性能。
meta方法
//不緩存
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
清理form表單的臨時緩存
<body onLoad="javascript:document.yourFormName.reset()">
其實form表單的緩存對於我們書寫還是有幫助的,一般情況不建議清理,但是有時候為了安全問題等,需要清理一下!
jquery ajax清除瀏覽器緩存
方式一:用ajax請求伺服器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");
},
success:function(response){
//操作
}
async:false
});

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:973
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:684
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:836
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:742
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1083
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:313
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:193
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:881
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:839