欧美日韩国产一区二区|qovd片|小明个人发布看看|小浪货你夹真紧水又多|老头把我添高潮了A片故|99热久久精品国产一区二区|久久久春色AV

IE下Ajax緩存問題怎么快速解決?快速解決緩存問題的方法分享

折騰了半天,程序中使用jquery的load方法進行請求,很奇怪為啥第二次無法發(fā)送請求 。百度了一把,誰知load是用get方式進行請求的,因此IE瀏覽器對
其進行緩存了 。網(wǎng)上搜了很多解決方案,一大把,下面是我認為比較全面的解決方案 。主要分為客戶端解決和服務端解決 。
1.客戶端解決方案
IE訪問策略:Internet選項--瀏覽歷史記錄--設置-- Internet 臨時文件的選項改為每次訪問網(wǎng)頁時也可以
1: 在AJAX請求的頁面后加個隨機函數(shù),我們可以使用隨機時間函數(shù)
在javascript發(fā)送的URL后加上t=Math.random()
例如這樣:URL "&" "t=" Math.random();或者new Date();
2: 在XMLHttpRequest發(fā)送請求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
一般情況下,這里的XMLHttpRequest不會直接使用
你應該可以找到這樣的代碼
XXXXX.send(YYYYYY);
那么,就把它變成
XXXXX.setRequestHeader("If-Modified-Since","0");
XXXXX.send(YYYYYY);
實踐證明,兩種方法都非常有效 。
1、在服務端加 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(); //當然這里參數(shù) fresh 可以任意取了
5、第四種方法和第三種類似,在 URL 參數(shù)后加上 "?timestamp="new Date().getTime(); //推薦使用這種方式
6、用POST替代GET:不推薦
2.服務器端解決方案:
以Struts2為例:
Struts2 Server端用法
Xml代碼

IE下Ajax緩存問題怎么快速解決?快速解決緩存問題的方法分享

Java代碼
IE下Ajax緩存問題怎么快速解決?快速解決緩存問題的方法分享



【IE下Ajax緩存問題怎么快速解決?快速解決緩存問題的方法分享】

相關(guān)經(jīng)驗推薦