easyui 向后台传参出现缓存问题的可能原因以及解决办法

easyui 出现缓存问题的可能原因以及解决办法:

可能原因:

1)浏览器问题;

解决办法:

在url后添加时间戳参数,例如:

URL = biRollbackAction.e?date=”+new Date().getTime()+“&其他参数名称=其他参数值

下边的代码中也有添加时间戳的url的语句,可以看一下。

 

2)在url中的参数中含有全局变量,这个全局变量的值保存了上一次操作的参数值,由此造成了缓存问题;

解决办法:

把这个全局变量改为局部变量,正确的写法的例子:

<script type="text/javascript">
  	function synBI(){
  		//获取被选中的记录
    		var ids = getChoosedRecord();
    		var path = '<e:url value="biSyncnAction.e?date='+new Date().getTime()+'&ids='+ids+'"/>';//获取路径
  		$.post(path,function(data){	
  			alert(data);
  			refreshBiTable();
  		});
  	}
  	
  	//刷新表格
  	function refreshBiTable(){
  		$("#vbapTable").datagrid("reload");
  	}

  	//获取被选中的记录
  	function getChoosedRecord(){
  	  	var ids = [];
		var rows = $('#vbapTable').datagrid('getChecked');
  	  	for (var i =0;i < rows.length;i++) {
  	  	  	ids.push(rows[i].DOMAIN_ID);
  	  	}
  	  	//alert("选中了" + ids.length + "条");
  	  	return ids;
  	}

   </script>

 

在上边这个例子中,如果把url中的ids这个数组变量变为全局变量,也就是下边这种写法,错误的写法的例子:

<script type="text/javascript">
  	var ids = [];                                                                                                           function synBI(){
  		//获取被选中的记录
    		getChoosedRecord();
    		var path = '<e:url value="biSyncnAction.e?date='+new Date().getTime()+'&ids='+ids+'"/>';//获取路径
  		$.post(path,function(data){	
  			alert(data);
  			refreshBiTable();
  		});
  	}
  	
  	//刷新表格
  	function refreshBiTable(){
  		$("#vbapTable").datagrid("reload");
  	}

  	//获取被选中的记录
  	function getChoosedRecord(){
  	  	var rows = $('#vbapTable').datagrid('getChecked');
  	  	for (var i =0;i < rows.length;i++) {
  	  	  	ids.push(rows[i].DOMAIN_ID);
  	  	}
  	  	//alert("选中了" + ids.length + "条");
   	}

   </script>


 

那么执行刷新表格的方法后不能清空ids这个变量中的值,ids这个数组变量会把这次的操作值保存下来,

在下一次选中一个新的记录并传参的时候,就会把这次的id值也一起传过去,这样就会出现类似缓存的问题了。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值