js缓存问题
优点:
避免了对服务端频繁的调用,提高性能
缺点:
会对重复的请求进行自动缓存,造成某些功能不好使
举个栗子:
积分项目,我页面有两个按钮,启用,停用。
选中一条记录,启用,停用,好使,再次启用,我去不好使了,肿么办,见下面传参数部分,加入了**timestamp : (new Date()).valueOf()**时间戳来解决这个问题,每次url后面的参数都不同,那么js会当做一个新的请求,那么新的请求自然就不会有什么缓存啦,问题就迎刃而解了。
Ext.Ajax.request({
url : basepath + '/loyAcScorePoolNew!isToSetup.json',
method : 'get',
params : {
poolId : poolId,
flag : 1,
timestamp : (new Date()).valueOf()
},
success : function(response) {
var data = Ext.decode(response.responseText);
var result = data.result;
if(result>0){
Ext.Msg.alert('提示', '操作成功');
}else{
Ext.Msg.alert('提示', '操作失败');
}
reloadCurrentData();
//刷新一下列表,更新一下最新数据 Extjs特有功能
},
failure : function() {
Ext.Msg.alert('提示', '操作失败');
reloadCurrentData(); // Extjs特有功能
}
});
==================================================
结束语:麻雀虽小,五脏俱全。
知识点虽小,但很重要。
本文探讨了JavaScript缓存机制可能导致的功能异常,特别是在涉及重复请求的场景下。通过在URL参数中加入时间戳,可以有效防止浏览器缓存相同请求,确保每次请求都能获取到最新的数据状态。
3712

被折叠的 条评论
为什么被折叠?



