在傳送ajax請求時加時間戳或者隨機數去除js快取
阿新 • • 發佈:2018-12-31
在傳送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 獲取當前時間戳:
第一種方法:
結果:1280977330000
第二種方法:
結果:1280977330748
第三種方法:
var timestamp=new Date().getTime();結果:1280977330748
第一種:獲取的時間戳是把毫秒改成000顯示,
第二種和第三種是獲取了當前毫秒的時間戳。