今天遇到ajax缓存的问题,指定同样的url和参数值总是有缓存,跳不到后台程序里!
我先用了一种龌龊的方法,就是在url后又加了个由数据数产生的参数
var rand=Math.random();
var url="A.aspx?t="+escape(t)+"&r="+escape(rand);
不知道大家有没有什么好办法?
----分割线-----------
解决办法:
在Page_Load中加入:
Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddDays(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "No-Cache");
-------myAjax-------
//url:处理地址,data:参数,progressobj:等待提示,successfun:返回执行
function myAjax(url, data, progressobj, successfun) {
$.ajax({
type: "post",
url: url,
data: data,
beforeSend: function(XMLHttpRequest) {
//ShowLoading();
$("#" + progressobj).show();
},
success: function(msg) {
successfun(msg);
},
complete: function(XMLHttpRequest, textStatus) {
//HideLoading();
$("#" + progressobj).hide();
},
error: function() {
//请求出错处理
}
});
return false;
}