主頁 > 知識庫 > ajax調(diào)用中ie緩存問題解決方法

ajax調(diào)用中ie緩存問題解決方法

熱門標簽:騰訊地圖標注位置能用多久 越南河內(nèi)地圖標注 個人怎樣在百度地圖標注地名 硅語電話機器人公司 ai機器人電銷資源 云呼外撥網(wǎng)絡(luò)電話系統(tǒng) 機器人電銷騙局揭秘 地圖標注項目怎么樣 超級大富翁地圖標注

本文實例分析了ajax調(diào)用中ie緩存問題解決方法。分享給大家供大家參考,具體如下:

ajax請求調(diào)用的過程中發(fā)現(xiàn)的問題:后臺請求是一個簡單的.aspx文件,而這個頁面又沒有考慮過緩存的影響,使用ajax調(diào)試的時候發(fā)現(xiàn)有時候根本不走后臺代碼直接返回結(jié)果了,所以估計是受到瀏覽器緩存的影響。網(wǎng)上搜了一下,果然是緩存的問題:“IE中如果XMLHttpRequest提交的URL與歷史一樣則使用緩存,根本不向服務(wù)器端提交。因此無法取到剛提交的數(shù)據(jù)或新的數(shù)據(jù)”。

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

1、只改進服務(wù)器端

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

復(fù)制代碼 代碼如下:
%@ OutPutCache Location="None"%>
即可。

(2)但是如果后臺是.ashx文件通常在類里直接修改緩存設(shè)置。

復(fù)制代碼 代碼如下:
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);

2、只改進客戶端

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

a、加隨機數(shù):

復(fù)制代碼 代碼如下:
var url='AjaxOperations.aspx?rdm='+Math.random()+'action='+op;

b、加時間戳:
復(fù)制代碼 代碼如下:
var url='AjaxOperations.aspx?dtStamp='+new Date().getTime()+'action='+op;

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

(2)前臺異步調(diào)用設(shè)置XMLHttpRequest對象的屬性

在XMLHttpRequest發(fā)送請求之前加上

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

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

希望本文所述對大家ajax程序設(shè)計有所幫助。

您可能感興趣的文章:
  • ajax+php控制所有后臺函數(shù)調(diào)用
  • jQuery Ajax調(diào)用WCF服務(wù)詳細教程
  • jQuery調(diào)用ajax請求的常見方法匯總
  • 使用ajax技術(shù)無刷新動態(tài)調(diào)用新浪股票實時數(shù)據(jù)
  • jQuery ajax調(diào)用WCF服務(wù)實例
  • ajax的定時調(diào)用每5秒調(diào)用一次
  • iframe式ajax調(diào)用示例代碼
  • jquery中的ajax方法怎樣通過JSONP進行遠程調(diào)用
  • JavaScript調(diào)用ajax獲取文本文件內(nèi)容實現(xiàn)代碼
  • iframe式ajax調(diào)用示例
  • jquery.Ajax()方法調(diào)用Asp.Net后臺的方法解析
  • ajax調(diào)用簡單實例

標簽:遼源 林芝 內(nèi)蒙古 洛陽 邢臺 鄭州 舟山 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ajax調(diào)用中ie緩存問題解決方法》,本文關(guān)鍵詞  ajax,調(diào)用,中,緩存,問題,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ajax調(diào)用中ie緩存問題解決方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于ajax調(diào)用中ie緩存問題解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章