Ajax的相容及Ajax的快取問題

2022-08-09 13:27:19 字數 1182 閱讀 7084

ajax的相容:

在ie 6 7 8 不支援xmlhttprequest的物件;

他的ajax內建物件為activexobject("microsoft xmlhttp")

除了內建物件不一樣外,剩下的都一樣

相容性的處理方法:

最流行ajax的輕量級外掛程式

axios  (post()的方法,官網給的傳參的方法是錯的,應用字串格式傳)

fetch外掛程式

字段:比較短的字串/數字/關鍵字

ajax的快取

瀏覽器的特性:瀏覽器不管你請求了多少次,他都會把每次的請求當第一次請求;

對於伺服器來說,所有的請求都是第一次的,沒有記憶功能(儲存意識),這對於伺服器來說是好事,對於客戶來說就是壞事,就把這種解決的方式(記憶的能力cookie),給了客戶端(瀏覽器)

ajax快取的優勢

第一次請求的結果,會儲存在快取區,第二次相同請求的時候,直接在快取區將資料返給,你不在向伺服器請求了,增強了頁面的響應速度和使用者體驗;

快取的缺點

如果第二次請求的相似度過高,瀏覽器會認為是第一次請求的,就直接從快取區拿資料,不向伺服器請求佔記憶體

cache:儲存;

解決快取的方法:

在引數後面加隨機數或加時間戳(前台用最多的方法);

2.在服務端加header("cache-control:no-cache,must-revalidate");

3.在ajax傳送請求前加上:

4.在ajax的url引數後加上"?freash=zhang"+math.random();

5.第5種方法和第四種方法類似,在url引數後加上:

"?timestamp="+new date().gettime()    (解釋:new date(獲取當前時間)  gettime()獲取時間戳)

Ajax的快取問題

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

封裝相容的Ajax請求

xmlhttprequest 物件提供了對 http 協議的完全的訪問,包括做出 post 和 head 請求以及普通的 get 請求的能力。xmlhttprequest 物件是ajax請求的基礎。監聽狀態改變和接收資料 xhr.onreadystatechange function functio...

AJAX清除快取

在使用ajax作web開發時,往往會存在一些莫名其妙的問題。如,第一次的ajax請求是正常的,而第二次為什麼就不正常了呢,而且往往會出現於第一次請求同樣的結果。其實這是因為ajax第一次請求確實是傳送到了伺服器,而第二次並沒有真的發到伺服器,而是從ie的快取中讀取的。那麼如何解決這一問題呢?方法很簡...