jQuery EasyUI Datagrid设置pageNumber导致两次请求的修复方法

作者:开源拾贝

时间:2026-10-30

浏览:636

本文分析jQuery EasyUI 1.3.4中手动设置Datagrid的pageNumber大于1时触发两次请求的原因。问题源于分页控件初始化参数与初次请求不一致。通过修改jquery.easyui.min.js源码,在refresh调用中保留当前pageNumber,可有效避免二次请求,确保分页逻辑正确执行。

文章目录

EasyUI Datagrid pageNumber重复请求问题解析

本文详细介绍如何解决在使用jQuery插件EasyUI时,手动设置Datagrid组件的pageNumber参数所引发的重复请求问题。

问题现象与源码定位

一、问题现象:


$('#tb-page-list').datagrid({
    url: '/BisOrderInfo/GetList',
    pageNumber: 2,
    pageSize: 10
});

当开发者手动将pageNumber设置为大于或等于2的值时,观察网络请求会发现系统发起了两次请求。值得注意的是,第二次请求中的pageNumber参数被重置为1。

二、原因分析:

该问题出现在jquery.easyui.min.js文件版本1.3.4的第7821至7828行代码中。

根本原因在于分页控件初始化时的默认参数(total为0,pageNumber为1)与用户初次请求第二页时的参数不一致。这种差异触发了内部的再次请求逻辑:_5dc(_545);

解决思路:当页面刷新导致请求到的数据总数发生变化时,必须同步更新pagebar(分页栏)的显示状态,以保持一致性。

代码修改方案

三、解决方案:

针对jquery.easyui.min.js版本1.3.4,需要修改第7822行的代码逻辑。


_54a.pagination("refresh",{total:data.total});

具体修改方式如下:

参考代码实现:

_54a.pagination("refresh",{pageNumber:opts.pageNumber||_54b.pageNumber,total:data.total});

更多关于jQuery相关实用技巧,读者可参考本站专题:《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》。

希望上述解决方案能对各位jQuery开发者有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章