欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年12月01日 12:27:33   作者:Jeff Wong  
這篇文章主要介紹了ajax調(diào)用中ie緩存問題解決方法,較為詳細(xì)的分析了ajax調(diào)用中ie緩存機(jī)制的原理與具體解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

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

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

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

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

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

2、只改進(jìn)客戶端

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

a、加隨機(jī)數(shù):

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

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

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

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

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

復(fù)制代碼 代碼如下:
XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
個(gè)人認(rèn)為這個(gè)才是“正道”。因?yàn)槟悴荒苊鞔_哪些ajax請求是需要還是不需要緩存的(解決網(wǎng)站的性能瓶頸,利用有緩存的ajax居多),所以每次在發(fā)送請求的時(shí)候確認(rèn)一下是否要緩存,相對于2中的第(1)條顯然少寫了一個(gè)url參數(shù),而且服務(wù)器端(改進(jìn)方法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è)計(jì)有所幫助。

相關(guān)文章

  • MVC遇上bootstrap后的ajax表單驗(yàn)證

    MVC遇上bootstrap后的ajax表單驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了MVC遇上bootstrap后的ajax表單驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Ajax?請求隊(duì)列解決方案并結(jié)合elementUi做全局加載狀態(tài)

    Ajax?請求隊(duì)列解決方案并結(jié)合elementUi做全局加載狀態(tài)

    這篇文章主要介紹了Ajax?請求隊(duì)列解決方案并結(jié)合elementUi做全局加載狀態(tài),使用 消息隊(duì)列 制作 請求防抖,防止重復(fù)請求印象服務(wù)器,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • 菜鳥蔡之Ajax復(fù)習(xí)第三篇(Ajax之無刷新登錄)

    菜鳥蔡之Ajax復(fù)習(xí)第三篇(Ajax之無刷新登錄)

    無刷新登錄大家也許沒寫過,但是一定都是聽說過的,很早以前就想用這個(gè)小技術(shù)在自己做的小項(xiàng)目中用一把了,但都沒有付出過實(shí)踐,在網(wǎng)上查也沒有查到具體完整的代碼,在這里,今天菜鳥蔡也來試了一把,獻(xiàn)丑了,希望對初學(xué)的童鞋有點(diǎn)幫助
    2012-11-11
  • Ajax+PHP簡單基礎(chǔ)入門實(shí)例教程

    Ajax+PHP簡單基礎(chǔ)入門實(shí)例教程

    Ajax 由 HTML、JavaScript&#8482; 技術(shù)、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉(zhuǎn)化成交互性的 Ajax 應(yīng)用程序。對于Ajax,最核心的一個(gè)對象是XMLHttpRequest,所有的ajax操作都離不開對這個(gè)對象的操作。
    2008-12-12
  • SpringMVC+Jquery實(shí)現(xiàn)Ajax功能

    SpringMVC+Jquery實(shí)現(xiàn)Ajax功能

    SpringMVC:是基于Spring的一個(gè)子框架(MVC框架),功能強(qiáng)于Spring,這個(gè)框架主要是解決咱們Controller這一層的問題。這篇文章主要介紹了SpringMVC+Jquery實(shí)現(xiàn)Ajax功能,需要的朋友可以參考下
    2019-06-06
  • Fly攔截全局Ajax請求的方法

    Fly攔截全局Ajax請求的方法

    這篇文章主要介紹了Fly攔截全局Ajax請求的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • 自己動(dòng)手打造ajax圖片上傳(網(wǎng)上沒有的)

    自己動(dòng)手打造ajax圖片上傳(網(wǎng)上沒有的)

    需要一款圖片上傳插件,但是網(wǎng)上沒有提供一款符合自己需求且好用的。于是就自己動(dòng)手寫了一個(gè),需要的朋友可以參考下
    2014-06-06
  • AJAX XMLHttpRequest對象詳解

    AJAX XMLHttpRequest對象詳解

    這篇文章主要為大家詳細(xì)介紹了AJAX XMLHttpRequest對象,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • ajax響應(yīng)json字符串和json數(shù)組的實(shí)例(詳解)

    ajax響應(yīng)json字符串和json數(shù)組的實(shí)例(詳解)

    下面小編就為大家?guī)硪黄猘jax響應(yīng)json字符串和json數(shù)組的實(shí)例(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Ajax.基礎(chǔ)教程 電子書版 提供下載

    Ajax.基礎(chǔ)教程 電子書版 提供下載

    Ajax.基礎(chǔ)教程 電子書版 提供下載...
    2007-02-02

最新評論