在發送ajax請求時加時間戳或者隨機數去除js緩存


在發送ajax請求的時候,為了保證每次的都與服務器交互,就要傳遞一個參數每次都不一樣,這里就用了時間戳

大家在系統開發中都可能會在js中用到ajax或者dwr,因為IE的緩存,使得我們在填入相同的值的時候總是使用IE緩存,為了解決這個問題一般可以用一下方法:
1:在ajax或者dwr提交的url后面加時間戳。
例如
http_request.onreadystatechange = funcName(函數名);
http_request.open(“GET”, url, true);
比如url是test .jsp
那么我們在它后面加上?time=new Date();
即url=test.jsp?time=new Date();
2 :在url后面加一個隨機數。
。。。。。。。。。
url=test.jsp?number=Math.random();

只要js認為鏈接不一樣就會再次取新的內容。

時間戳應該是比隨機數更隨機的數,保證了每次不一樣。 <script type=”text/JavaScript”></script>

PS:好像就只有IE有問題,我在FIreFox什么問題都沒有

那么獲取時間戳的方法是什么樣子呢?下面我在網上查了資料,代碼如下;

JavaScript 獲取當前時間戳:
第一種方法:

var timestamp = Date.parse(new Date());

結果:1280977330000
第二種方法:

var timestamp = (new Date()).valueOf();

結果:1280977330748

第三種方法:

var timestamp=new Date().getTime();

結果:1280977330748

第一種:獲取的時間戳是把毫秒改成000顯示,

第二種和第三種是獲取了當前毫秒的時間戳。

 

js中獲取區間內的隨機數

/**
 * 獲取[min,max]之間的一個隨機數
 * @param {} min
 * @param {} max
 */ 
function getRandomNum(min,max){
var range = max-min;
var rand = Math.random();
return(min+Math.round(rand*range));
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM