1. 程式人生 > >在傳送ajax請求時加時間戳或者隨機數去除js快取

在傳送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顯示,

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