最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IE下Ajax緩存問題的快速解決方法(get方式)

 更新時(shí)間:2014年01月09日 10:18:50   投稿:jingxian  
IE下Ajax緩存問題的快速解決方法(get方式)。網(wǎng)上搜了很多解決方案,一大把,下面是我認(rèn)為比較全面的解決方案。主要分為客戶端解決和服務(wù)端解決

折騰了半天,程序中使用jquery的load方法進(jìn)行請求,很奇怪為啥第二次無法發(fā)送請求。百度了一把,誰知load是用get方式進(jìn)行請求的,因此IE瀏覽器對

其進(jìn)行緩存了。網(wǎng)上搜了很多解決方案,一大把,下面是我認(rèn)為比較全面的解決方案。主要分為客戶端解決和服務(wù)端解決。

1.客戶端解決方案
IE訪問策略:Internet選項(xiàng)--瀏覽歷史記錄--設(shè)置-- Internet 臨時(shí)文件的選項(xiàng)改為每次訪問網(wǎng)頁時(shí)也可以

1: 在AJAX請求的頁面后加個(gè)隨機(jī)函數(shù),我們可以使用隨機(jī)時(shí)間函數(shù)

在javascript發(fā)送的URL后加上t=Math.random()
例如這樣:URL+"&"+"t="+Math.random();或者new Date();

2: 在XMLHttpRequest發(fā)送請求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")

一般情況下,這里的XMLHttpRequest不會直接使用
你應(yīng)該可以找到這樣的代碼
XXXXX.send(YYYYYY);
那么,就把它變成
XXXXX.setRequestHeader("If-Modified-Since","0");
XXXXX.send(YYYYYY);

實(shí)踐證明,兩種方法都非常有效。
1、在服務(wù)端加 header("Cache-Control: no-cache, must-revalidate");
2、在ajax發(fā)送請求前加上 xmlHttpRequest.setRequestHeader("If-Modified-Since","0");
3、在ajax發(fā)送請求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
4、在 Ajax 的 URL 參數(shù)后加上 "?fresh=" + Math.random(); //當(dāng)然這里參數(shù) fresh 可以任意取了
5、第四種方法和第三種類似,在 URL 參數(shù)后加上 "?timestamp=" + new Date().getTime(); //推薦使用這種方式
6、用POST替代GET:不推薦


2.服務(wù)器端解決方案:

以Struts2為例:
Struts2 Server端用法

Xml代碼

復(fù)制代碼 代碼如下:

<package name="json-nocache" extends="json-default">
 <interceptors>
  <interceptor name="cachingHeadersInterceptor" class="com.ssa.pct.web.interceptor.CachingHeaderInterceptor" />
  <interceptor-stack name="defaultSecurityStack">
   <interceptor-ref name="defaultStack" />
   <interceptor-ref name="cachingHeadersInterceptor" />
  </interceptor-stack>
 </interceptors>
  
 <default-interceptor-ref name="defaultSecurityStack" />
</package>

Java代碼
復(fù)制代碼 代碼如下:

public class CachingHeaderInterceptor extends AbstractInterceptor {

 private static final long serialVersionUID = 1L;

 public String intercept(ActionInvocation invocation) throws Exception {
  ActionContext context = invocation.getInvocationContext();
  HttpServletResponse response = (HttpServletResponse) context.get(StrutsStatics.HTTP_RESPONSE);
  if (response != null) {
   response.setHeader("Cache-Control", "no-cache");
   response.setHeader("Pragma", "no-cache");
   response.setHeader("Expires", "-1");
  }
  return invocation.invoke();
 }

}

相關(guān)文章

  • 深入理解JavaScript中的for循環(huán)

    深入理解JavaScript中的for循環(huán)

    這篇文章主要給大家深入的介紹了JavaScript中的for循環(huán),其中包括ES5中的三種for循環(huán),分別是簡單for循環(huán)、for-in以及forEach,另外還詳細(xì)介紹了ES6新增的一種循環(huán):for-of ,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • 原生js實(shí)現(xiàn)選項(xiàng)卡功能

    原生js實(shí)現(xiàn)選項(xiàng)卡功能

    本文主要介紹了原生js實(shí)現(xiàn)選項(xiàng)卡功能的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • 詳解JavaScript中哪一種循環(huán)最快呢

    詳解JavaScript中哪一種循環(huán)最快呢

    這篇文章主要介紹了詳解JavaScript中哪一種循環(huán)最快呢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • ECMAScript中迭代器的深入講解

    ECMAScript中迭代器的深入講解

    在ECMAScript 6增加了一個(gè)對象,它不是新的語法或新的內(nèi)置對象,而一種協(xié)議( 迭代器協(xié)議),所有遵守這個(gè)協(xié)議的對象,都可以稱之為迭代器,這篇文章主要給大家介紹了關(guān)于ECMAScript中迭代器的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Apply an AutoFormat to an Excel Spreadsheet

    Apply an AutoFormat to an Excel Spreadsheet

    Apply an AutoFormat to an Excel Spreadsheet...
    2007-06-06
  • javascript折半查找詳解

    javascript折半查找詳解

    這篇文章主要介紹了javascript折半查找詳解的相關(guān)資料,需要的朋友可以參考下
    2015-01-01
  • javascript iframe中打開文件,并檢測iframe存在否

    javascript iframe中打開文件,并檢測iframe存在否

    從iframe中打開文件,并檢測iframe存在否如果說只是檢測頁面存在否,直接設(shè)置target用偽協(xié)議就可以解決了...
    2008-12-12
  • JSON stringify方法原理及實(shí)例解析

    JSON stringify方法原理及實(shí)例解析

    這篇文章主要介紹了JSON stringify方法原理及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Vue項(xiàng)目vscode 安裝eslint插件的方法(代碼自動修復(fù))

    Vue項(xiàng)目vscode 安裝eslint插件的方法(代碼自動修復(fù))

    這篇文章主要介紹了Vue項(xiàng)目vscode 安裝eslint插件的方法 代碼自動修復(fù),需要的朋友可以參考下
    2020-04-04
  • Javascript如何實(shí)現(xiàn)對象扁平化實(shí)例詳解

    Javascript如何實(shí)現(xiàn)對象扁平化實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Javascript如何實(shí)現(xiàn)對象扁平化的扁平化處理簡而言之就是對對象中的對象提取出來,放在一個(gè)對象里面,形象的說就是把兒子的后代當(dāng)成自己的兒子,下面相關(guān)資料,需要的朋友可以參考下
    2022-11-11

最新評論

新平| 吐鲁番市| 天全县| 米林县| 竹山县| 罗平县| 柘城县| 渝北区| 张家口市| 鹤峰县| 沾益县| 吉木萨尔县| 中宁县| 莒南县| 应城市| 镇远县| 东光县| 育儿| 满城县| 静宁县| 曲松县| 天水市| 井陉县| 阜康市| 昭通市| 上犹县| 鄂托克前旗| 西城区| 三都| 祁阳县| 祁门县| 新民市| 芦山县| 饶河县| 炎陵县| 朔州市| 崇州市| 平山县| 秭归县| 隆林| 高安市|