jquery ajax緩存問題解決方法小結

今天在作一個ajax數據提交功能開始利用get方式一直髮現提交的數據都是同樣,返回的數據也好久不刷新了,這個我知道是ajax緩存問題,後來在網上整理了一些ajax緩存問題解決方法,下面給你們分享一下。 解決方法: 1html

 
今天在作一個ajax數據提交功能開始利用get方式一直髮現提交的數據都是同樣,返回的數據也好久不刷新了,這個我知道是ajax緩存問題,後來在網上整理了一些ajax緩存問題解決方法,下面給你們分享一下。
 

解決方法:ajax

一、給請求連接加隨機數,若是用的是jQuery,直接設置: $.ajaxSetup({cache: false});緩存

二、把type改爲post,並隨便設置設置一個參數data: 'a=b'(必定要設置參數,不然仍然會被cache)dom

三、說說生成不同的數,就用隨機數 Math.random();或者或者時間戳 + new Date();post

例子測試

 代碼以下  

$.ajax({
    type:"GET"
    url:'test.html',
    cache:false,
    dataType:"html",
    success:function(msg){
        alert(msg);
    }
});url

或者spa

$.ajax({
    type:"GET"
    url:'test.html?'+Math.random(),
    cache:false,
    dataType:"html",
    success:function(msg){
        alert(msg);
    }
});htm

後來在網上找到了不少AJAX GET請求會被緩存解決方法總結一下ci

一、在服務端加 header(「Cache-Control: no-cache, must-revalidate」);
二、在ajax發送請求前加上 anyAjaxObj.setRequestHeader(「If-Modified-Since」,」0″);
三、在ajax發送請求前加上 anyAjaxObj.setRequestHeader(「Cache-Control」,」no-cache」);
四、在 Ajax 的 URL 參數後加上 「?fresh=」 + Math.random(); //固然這裏參數 fresh 能夠任意取了
五、第四種方法和第三種相似,在 URL 參數後加上 「?timestamp=」 + new Date().getTime();
六、用POST替代GET:不推薦

一聚小編提示您:關於ajax緩存問題咱們上面的方法都有簡單測試都是有效的你們根據本身喜歡選擇吧,固然有時咱們是須要緩存功能有時不須要你們能夠根據實際狀況來設置。

相關文章
相關標籤/搜索