jquery easyui 1.3.4 datagrid pageNumber 设置导致两次请求的解决方案

一、现象:
 
$('#table').datagrid({
url: '/get/data/path/to/your/server',
pageNumber: 2,
pageSize: 10,
...
});
 
当手动设置 pageNumber >= 2 时,查看网络请求会有两次,并且第二次的请求的 pageNumber == 1;
 
二、原因:
 
jquery.easyui.min.js 1.3.4 的 7821-7828 行代码;
因为分页控件初始化参数 total == 0, pageNumber == 1,而初次请求第二页的参数与控件初始化参数不一致,导致了再次请求:_5dc(_545);
 
此处代码的原意是解决一个问题:
当页面刷新时,请求的数据总数发生变化,需要更新 pagebar 的显示;
 
三、解决方案:
 
7822 行(请注意版本 1.3.4 jquery.easyui.min.js):
_54a.pagination("refresh",{total:data.total});
修改为:
_54a.pagination("refresh",{pageNumber:opts.pageNumber||_54b.pageNumber,total:data.total});
 
ok,~

相关推荐