主頁 > 知識庫 > Ajax獲取頁面被緩存的解決方法

Ajax獲取頁面被緩存的解決方法

熱門標(biāo)簽:電子圍欄 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 阿里云 團(tuán)購網(wǎng)站 服務(wù)器配置 科大訊飛語音識別系統(tǒng) Linux服務(wù)器
這樣的情況是是為AJAX獲取時先檢查本機(jī)緩存,如果本機(jī)緩存已有相同內(nèi)容,則不訪問遠(yuǎn)端服務(wù)器。這樣的操作倒是可以提高速度和減少服務(wù)器壓力。但帶來的弊端也是顯而易見的。

為了解決這個問題。我們必須在獲取頁加上一個額外的參數(shù)。比較簡單的方法是用一個隨機(jī)數(shù)。

例子如下 

復(fù)制代碼 代碼如下:

function idCheck() { //參數(shù)調(diào)用函數(shù)
var f = document.modify_form;
var book_num = f.book_num.value;
if(book_num=="") {
window.alert("圖書編號不能為空");
f.book_num.focus();
return false;
}
//加一個隨機(jī)數(shù)//////////////////////////////
var number = Math.random();
number = number * 1000000000;
number = Math.ceil(number);
//////////////////////////////////////////
send_request('get_book.php?book_num='+book_num+'ranum='+number); // 后面的 “ranum=number”是額外加的
}

這樣就可以避免相同參數(shù)頁面返回同樣內(nèi)容的問題了。

還有一種方法為在被調(diào)用的頁面中,加入代碼,禁止本頁面被緩存

htm網(wǎng)頁
復(fù)制代碼 代碼如下:

metahttp-equiv="pragma"content="no-cache">
metahttp-equiv="cache-control"content="no-cache,must-revalidate">
metahttp-equiv="expires"content="wed,26feb199708:21:57gmt">

或者metahttp-equiv="expires"content="0">
asp網(wǎng)頁
復(fù)制代碼 代碼如下:

response.expires=-1
response.expiresabsolute=now()-1
response.cachecontrol="no-cache"

php網(wǎng)頁
復(fù)制代碼 代碼如下:

header("expires:mon,26jul199705:00:00gmt");
header("cache-control:no-cache,must-revalidate");
header("pragma:no-cache");

jsp網(wǎng)頁
復(fù)制代碼 代碼如下:

response.addHeader("pragma", "no-cache");
response.addHeader("cache-control", "no-cache,must-revalidate");
response.addHeader("expires", "0");

標(biāo)簽:大理 蚌埠 萍鄉(xiāng) 廣元 江蘇 衡水 衢州 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ajax獲取頁面被緩存的解決方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266