function lbtnStop_Click(operateType) {
var rows = grid.getSelecteds();
var l = rows.length;
if (l == 0) {
AlertErrorMessage("x0001");
}
else {
var s = "";
for (var i = 0; i
var row = rows[i];
s += row.ID;
if (i != l - 1)
s += "|";
};
$.ajax({
url: "/Controls/MiniUI/Data/AjaxFinishDataService.ashx",
Type: "post",
data: {
ids: s,
operateType: operateType,
bllclassName: "Sale.Sale_QuotationSheetDetail",
finishInMaster: false
},
success: function (text) {
if (text == "True") {
alert("操作成功!");
grid.reload();
}
else
alert(text);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}
});
}
}
在首次执行的时候,/Controls/MiniUI/Data/AjaxFinishDataService.ashx页面可以接收到请求,但 lbtnStop_Click方法第二次执行的时候, AjaxFinishDataService.ashx页面就没有接收到请求了,请问大家这个是怎么回事呢?
----------------------------------------------------------------
cache:false
如果请求相同的URL ,浏览器就会去取缓存
$.ajax({
type: "POST",
url: "some.php",
cache:false,
success: function(msg){
alert( "Data Saved: " + msg );
}
});
--------------------------------------------------------
在 /Controls/MiniUI/Data/AjaxFinishDataService.ashx 加一个随机数
/Controls/MiniUI/Data/AjaxFinishDataService.ashx?t=Math.random()
-----------------------------------------------------------
所以一般url后面都会加一个随时会变的参数吗?
像这样?
&rand=" + new Date().toString()
------------------------------------------------------
http://www.cnblogs.com/jianjialin/archive/2009/07/01/1514475.html
跟浏览器客户端cache并没有直接的关系,不要仅仅从浏览器角度去猜这个原因。它就是jQuery内部另外规定的cache机制!
通常只有在ie中才有关于“无缘无故就进行浏览器客户端缓存”的bug。在其它大品牌的浏览器中,似乎很少有类似bug。我几乎只在ie浏览器中才需要手动“删除缓存”操作。
正常情况下,并不会无缘无故“浏览器客户端缓存”。除非你的页面设计有bug,从而发送了错误的head给浏览器端。
jQuery的这个,会自动为请求(但是只是针对个别请求,而不是全部)加入"={timestamp}"这类时间戳。这是不管你是否发送了错误的head给浏览器端,也都会加入这个时间戳。
但是 ajaxSetting 中 cache 的默认值是true,也就是并不加入这个时间戳。用true做为默认值,就足以说明,正常情况下是不需要考虑这个什么客户端缓存的。