首頁 web前端 js教程 ajax呼叫中ie快取問題解決方法

ajax呼叫中ie快取問題解決方法

May 24, 2018 pm 02:19 PM
ajax ie 解決

這篇文章主要介紹了ajax調用中ie緩存問題解決方法,較為詳細的分析了ajax調用中ie緩存機制的原理與具體解決方法,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例分析了ajax呼叫中ie快取問題解決方法。分享給大家供大家參考,具體如下:

ajax請求調用的過程中發現的問題:後台請求是一個簡單的.aspx文件,而這個頁面又沒有考慮過緩存的影響,使用ajax調試的時候發現有時候根本不走後台程式碼直接回傳結果了,所以估計是受到瀏覽器快取的影響。網路上搜了一下,果然是快取的問題:「IE中如果XMLHttpRequest提交的URL與歷史一樣則使用緩存,根本不向伺服器端提交。因此無法取到剛提交的資料或新的數據」。

解決方法大致有下面幾種:

1、只改進伺服器端

(1)後台是簡單的.aspx文件,直接加上

<%@ OutPutCache Location="None"%>
登入後複製

即可。

(2)但如果後台是.ashx檔案通常在類別裡直接修改快取設定。

context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
登入後複製

2、只改進客戶端

(1)利用加隨機數或加時間戳改變請求位址

a、加隨機數:

var url=&#39;AjaxOperations.aspx?rdm=&#39;+Math.random()+&#39;&action=&#39;+op;
登入後複製

b、加時間戳記:

var url=&#39;AjaxOperations.aspx?dtStamp=&#39;+new Date().getTime()+&#39;&action=&#39;+op;
登入後複製

這一種解決方案,只需要加個時間或隨機數字作為參數,伺服器端不需要任何改動就可以達到目的。

(2)前台非同步呼叫設定XMLHttpRequest物件的屬性

在XMLHttpRequest發送請求之前加上

XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
登入後複製

個人認為這個才是「正道」。因為你不能明確哪些ajax請求是需要還是不需要緩存的(解決網站的性能瓶頸,利用有緩存的ajax居多),所以每次在發送請求的時候確認一下是否要緩存,相對於2中的第( 1)條顯然少寫了一個url參數,而且伺服器端(改進方法1)也不需要改變設置,但是對於已經封裝好的ajax庫,你可能已經不能在外面直接使用XMLHttpRequest對象了,通常的設置語法可能是將("If-Modified-Since","0")作為參數傳遞:ajaxObj.sendPost(其他參數列表,...."If-Modified-Since","0"); (post方式)

或ajaxObj.sendGet(其他參數列表,...."If-Modified-Since","0"); (get方式)

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

詳解Ajax和form iframe 實作檔案上傳的方法

淺析巧用Ajax的beforeSend提高使用者體驗

ajax傳送參數含有特殊字元的快速解決方法

##

以上是ajax呼叫中ie快取問題解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Win11系統無法安裝中文語言套件的解決方法 Win11系統無法安裝中文語言套件的解決方法 Mar 09, 2024 am 09:48 AM

Win11系統無法安裝中文語言套件的解決方法

五招教你解決黑鯊手機開不了機的問題! 五招教你解決黑鯊手機開不了機的問題! Mar 24, 2024 pm 12:27 PM

五招教你解決黑鯊手機開不了機的問題!

小紅書發布自動儲存圖片怎麼解決?發布自動保存圖片在哪裡? 小紅書發布自動儲存圖片怎麼解決?發布自動保存圖片在哪裡? Mar 22, 2024 am 08:06 AM

小紅書發布自動儲存圖片怎麼解決?發布自動保存圖片在哪裡?

無法在此裝置上載入驅動程式怎麼解決? (親測有效) 無法在此裝置上載入驅動程式怎麼解決? (親測有效) Mar 14, 2024 pm 09:00 PM

無法在此裝置上載入驅動程式怎麼解決? (親測有效)

蘋果手機聲音小怎麼解決 蘋果手機聲音小怎麼解決 Mar 08, 2024 pm 01:40 PM

蘋果手機聲音小怎麼解決

WordPress安裝問題解決指南,一文搞定 WordPress安裝問題解決指南,一文搞定 Feb 29, 2024 am 11:06 AM

WordPress安裝問題解決指南,一文搞定

Oracle導入中文資料時出現亂碼怎麼解決? Oracle導入中文資料時出現亂碼怎麼解決? Mar 10, 2024 am 09:54 AM

Oracle導入中文資料時出現亂碼怎麼解決?

WordPress後台亂碼煩惱?試試這些解決方案 WordPress後台亂碼煩惱?試試這些解決方案 Mar 05, 2024 pm 09:27 PM

WordPress後台亂碼煩惱?試試這些解決方案

See all articles