有关于datagrid load方法发送请求两次

当使用EasyUI的datagrid加载数据时,由于setTimeout函数和html class声明,请求可能会发送两次,导致数据错误。解决办法是在onBeforeLoad事件中观察到两次请求,并确保先获取数据再进行加载,或者避免在html中使用class声明datagrid,仅通过JavaScript初始化以防止重复请求。
摘要由CSDN通过智能技术生成

$("#result-panel").datagrid('load',{
		id:id,
		flag:flag,
		channel_code:code,
		start_time:start,
		end_time:end
	});

可以通过onBeforeLoad事件去看请求的参数,一共发送了两次请求。

在执行load方法时,会有个setTimeOut函数,可断点查看源码,有可能是在等待TimeOut的过程中,datagrid发现了url携带参数信息发生了变化,所以又再次发送了一次请求。所以在onBeforeLoad事件中你会看到两次请求,一次是之前的参数,一次是正确的参数。所以就会存在数据差错,

解决方法是:先获取数据再加载。

$.ajax({
			url:'newReports/showMenuQaStatisticList',
			type:"post",
			data:{
				id:selectId,
				flag:flag,
				channel_code:code,
				start_time:start,
				end_time:end
			},
			async: true,
			success:function(data){
				$("#result-panel").datagrid("loadData",data);
			}
		});
还有就是:有关datagrid初始化时为什么会向后台发送两次请求的解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值