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在傳送的資料成功後,會把請求的url和返回的響應結果儲存在快取內,當下一次呼叫ajax傳送相同的請求時,它會直接從快取中把資料取出來,這是為了提高頁面的響應速度和使用者體驗。當前這要求兩次請求url完全相同,包括引數。這個時候,瀏覽器就不會與伺服器互動。二 aja...
Ajax中請求被快取的問題
ajax中請求被快取的問題 在ajax開發中,會遇到瀏覽器快取內容的問題,比如,某個元素註冊了滑鼠事件 onmouseover 事件觸發後會通過 xmlhttprequest到伺服器獲取內容,在不重新整理頁面的情況下,瀏覽器會快取第一次請求的內容,服務端更新後瀏覽器仍然顯示第一次的內容。通常,這種請...
Ajax之快取問題的解決
在ajax的get請求中,如果執行在ie核心的瀏覽器下,其如果向同乙個url傳送多次請求時,就會產生所謂的快取問題。快取問題最早設計初衷是為了加快應用程式的訪問速度,但是其會影響ajax實時的獲取伺服器端的資料。產生快取的問題就是 我們的客戶端向同乙個 url 傳送了多次請求 如果我們每次請求的ur...