Ajax之快取問題的解決

2021-08-22 03:25:56 字數 928 閱讀 2402

在ajax的get請求中,如果執行在ie核心的瀏覽器下,

其如果向同乙個url傳送多次請求時,就會產生所謂的快取問題。

快取問題最早設計初衷是為了加快應用程式的訪問速度,

但是其會影響ajax實時的獲取伺服器端的資料。

產生快取的問題就是 我們的客戶端向同乙個 url 傳送了多次請求;

如果我們每次請求的url不同,那麼,快取問題就不會存在了;

math.random():返回 0–1 之間的隨機數,包括 0 但不包括 1;

修改**如下:

var url = '03-1.php?names='+inp.value+'&_='+math.random();

xhr.open('get',url);

但是,隨機數雖然解決了問題,但是,我們不能保證每次生成的隨機數都不一樣;

也就是說,使用隨機數存在一定的隱患;

new date().gettime(): 獲取當前時間的毫秒時間戳

修改**如下:

var url = '03-1.php?names='+inp.value+'&_='+new

date().gettime();

xhr.open('get',url);

伺服器端在相應客戶端請求時,可以設定相應頭詳細,如:

header(『content-type:text/html; charset=utf-8』) :告訴客戶端瀏覽器,使用utf-8的編碼格式解析頁面資訊。

在php**中新增一下**:

//告訴客戶端瀏覽器不要快取資料

header("cache-control: no-cache");

ajax快取問題的解決辦法

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

AJAX快取問題的解決辦法

1 在服務端加清除快取 2 在ajax傳送請求前加上 anyajaxobj.setrequestheader if modified since 0 3 在ajax傳送請求前加上 anyajaxobj.setrequestheader cache control no cache 4 在 ajax ...

Ajax的快取問題

因為一直對ajax都有一種望而生畏的感覺,所以一直也沒仔細的研究過,好多事情都一樣當你一開始覺得很難的時候它的難度就會比你預想的還難.大概這就是心理作用的影響吧.今天要做乙個無重新整理驗證使用者名稱是否重複的功能不得不用ajax了所以也就硬著頭皮看了一下,本來看的是jquery的ajax的使用,但是...