場景:項目以ie5渲染頁面,點擊導出列表數據(Excel形式),點擊導出發送get請求,后台生成Excel文件,返回文件地址信息
異常:ie第一次返回的信息正常,之后返回的都是第一次的結果,google正常
后台方法斷點,ie只有第一次會進斷點,之后沒有進斷點
異常代碼:
alert(1);
$.ajax({
url: actionURL + "?"
+ $.param({
Action:"export",
strWhere: strwhere
}),
data: { page: page, rows: rows },
type: "get",
success: function (data) {
alert(data);
window.location.href = "../../Views/MEAS/Download.aspx?filePath=" + escape(data);
},
error: function (e) {
alert(e);
}
});
解決方案:1.加cache:false
2.url加隨機數
正常代碼:
alert(1); $.ajax({ url: actionURL + "?" + $.param({ Action:"export", strWhere: strwhere }), data: { page: page, rows: rows }, type: "get", cache:false, success: function (data) { alert(data); window.location.href = "../../Views/MEAS/Download.aspx?filePath=" + escape(data); }, error: function (e) { alert(e); } });
網上高人解讀:
cache的作用就是第一次請求完畢之后,如果再次去請求,可以直接從緩存里面讀取而不是再到服務器端讀取。
如果使用jquery,可以使用 cache參數來控制
$.ajax({
url: "test.html",
cache: false, //或者設置true
success: function(html){
$("#results").append(html);
}
});
