ajax快取解決有1,2,3種辦法

2021-09-01 10:20:19 字數 1355 閱讀 6503

[b]1、加個隨機數 asp隨機函式

2、在要非同步獲取的asp頁面中寫一段禁止快取的**:

response.buffer =true

response.expiresabsolute =now() - 1

response.expires=0

response.cachecontrol="no-cache"

3、在ajax傳送請求前加上xmlhttp.setrequestheader("if-modified-since","0");可以禁止快取

web 開發中的快取問題

httpservlet 類為 if-modified-since 請求頭和 last-modified 頭字段的這種應用提供了處理機制,當繼承了 httpservlet 類的 servlet 程式接收到乙個 get 方式的訪問請求時,httpservlet 中過載的 service 方法在呼叫 doget 方法之前,它還將呼叫 getlastmodified 方法,並根據 getlastmodified 方法的返回值來決定是否呼叫 doget 方法和在響應訊息中是否生成 last-modified 頭欄位,具體規則如下:

當 getlastmodified 方法返回乙個負數時,不管請求訊息中的情況怎樣,service 方法都將直接呼叫 doget 方法來生成響應內容,這正是 httpservlet 類中定義的 getlastmodified 方法的行為;

當 getlastmodified 方法返回乙個正數,且請求訊息中沒有包含 if-modified-since 請求頭時(這往往出現在第對某個資源的第一次訪問時),或者請求訊息中包含的if-modified-since 請求頭中的時間值比 getlastmodified 方法返回的時間值舊時,service 方法將根據 getlastmodified 方法的返回值生成乙個 last-modified 頭欄位,然後呼叫 doget 方法生成響應內容;

當 getlastmodified 方法返回乙個正數時,且請求訊息中包含的 if-modified-since 請求頭中的時間值比 getlastmodified 方法返回的時間值新或者與之相同時,service 方法將不呼叫 doget 方法,而是向瀏覽器返回乙個304(not modified)狀態碼表示瀏覽器可以使用其以前快取的內容。 [/b]

ajax快取解決辦法

有三種辦法 1 加個隨機數 2 在要非同步獲取的asp頁面中寫一段禁止快取的 response.buffer true response.expiresabsolute now 1 response.expires 0 response.cachecontrol no cache 3 在ajax傳送...

ajax快取解決辦法

有三種辦法 1 加個隨機數 xmlhttp.open get ajax.asp?now new date gettime true 2 在要非同步獲取的asp頁面中寫一段禁止快取的 response.buffer true response.expiresabsolute now 1 respons...

Ajax快取解決辦法

看到一篇文章不錯,留著呵呵 專案有時要用一些ajax的效果,因為比較簡單,也就沒有去用什麼ajax.net之類的東西,手寫 也就實現了。第二天,有人向我報告錯誤 說是只有第一次讀取的值正常,後面的值都不正常 我除錯了一下 確實有這樣的問題,查出是因為ajax快取的問題 解決辦法有如下幾種 1 在服務...