ajax頁面引數相同時只返回快取的內容的解決辦法
常利用ajax寫一些頁面無重新整理的內容獲取頁面,這種方式很快捷也很方便,但其中有乙個問題,就是如果兩次提交的引數相同時,返回的內容只返回上次獲取的內容,如果我們在第一次修改了引數,第二次再次呼叫卻會發現頁面根本沒有改變。這樣的情況是是為ajax獲取時先檢查本機快取,如果本機快取已有相同內容,則不訪問遠端伺服器。這樣的操作倒是可以提高速度和減少伺服器壓力。但帶來的弊端也是顯而易見的。
為了解決這個問題。我們必須在獲取頁加上乙個額外的引數。比較簡單的方法是用乙個隨機數。
例子如下
function idcheck()
//加乙個隨機數//
var number = math.random();
number = number * 1000000000;
number = math.ceil(number);
// send_request('get_book.php?book_num='+book_num+'&ranum='+number); // 後面的 「ranum=number」是額外加的
}這樣就可以避免相同引數頁面返回同樣內容的問題了。
還有一種方法為在被呼叫的頁面中,加入**,禁止本頁面被快取
htm網頁
或者asp網頁
response.expires=-1
response.expiresabsolute=now()-1
response.cachecontrol="no-cache"
php網頁
header("expires:mon,26jul199705:00:00gmt");
header("cache-control:no-cache,must-revalidate");
header("pragma:no-cache");
jsp網頁
response.addheader("pragma", "no-cache");
response.addheader("cache-control", "no-cache,must-revalidate");
response.addheader("expires", "0");
Ajax獲取頁面被快取的解決方案
ajax頁面引數相同時只返回快取的內容的解決辦法 常利用ajax寫一些頁面無重新整理的內容獲取頁面,這種方式很快捷也很方便,但其中有乙個問題,就是如果兩次提交的引數相同時,返回的內容只返回上次獲取的內容,如果我們在第一次修改了引數,第二次再次呼叫卻會發現頁面根本沒有改變。這樣的情況是是為ajax獲取...
你該知道的ajax的cache引數,快取屬性
1.ajax的快取是什麼 ajax在傳送的資料成功後,會把請求的url和返回的響應結果儲存在快取內,當下一次呼叫ajax傳送相同的請求時,它會直接從快取中把資料取出來,這是為了提高頁面的響應速度和使用者體驗。當前這要求兩次請求url完全相同,包括引數。這個時候,瀏覽器就不會與伺服器互動。用法 aja...
解決ajax只觸發一次不更新快取的問題
今天做乙個小型的 時發現,生成的靜態頁由於採用了用jquery的ajax從後台獲取使用者session,除錯的時候發現,獲取session的ajax方法只觸發一次,第一次到頁面,觸發 此時未登入 跳轉到登入頁登入後,再返回,或到其他頁,都沒有再觸發ajax。網上找了很久,才找到解決方法,原來是用ge...