天天看点

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,~