解決方案:
1、給請求連結加隨機數,如果用的是jQuery,直接設定: $.ajaxSetup({cache: false});
2、把type改成post,並隨便設定設定一個參數data: 'a=b'(一定要設定參數,否則仍然會被cache)
3、說說產生不一樣的數,就用隨機數 Math.random();或者或者時間戳記 + new Date();
例子
代碼如下 |
複製代碼 |
$.ajax({ type:"GET" url:'test.html', cache:false, dataType:"html", success:function(msg){ alert(msg); } }); 或者 $.ajax({ type:"GET" url:'test.html?'+Math.random(), cache:false, dataType:"html", success:function(msg){ alert(msg); } }); |
後來在網上找到了很多AJAX GET請求會被緩衝解決方案總結一下
1、在服務端加 header(“Cache-Control: no-cache, must-revalidate”);
2、在ajax發送請求前加上 anyAjaxObj.setRequestHeader(“If-Modified-Since”,”0″);
3、在ajax發送請求前加上 anyAjaxObj.setRequestHeader(“Cache-Control”,”no-cache”);
4、在 Ajax 的 URL 參數後加上 “?fresh=” + Math.random(); //當然這裡參數 fresh 可以任意取了
5、第四種方法和第三種類似,在 URL 參數後加上 “?timestamp=” + new Date().getTime();
6、用POST替代GET:不推薦
一聚小編提示您:關於ajax緩衝問題我們上面的方法都有簡單測試都是有效大家根據自己喜歡選擇吧,當然有時我們是需要緩衝功能有時不需要大家可以根據實際情況來設定。