easyui datagrid 加载时候请求两次后台解决方法

再见尼罗河 2014-12-14 10:30:19
本人采用easyui1.4.1开发,实现datagrid的时候,发现在页面初始化的时候像后台请求了两次,
<table id="dic" style="width: 100%; height: 100%; border: true">
没有定义class,采用js加载,不存在网上所说的因为第一次加载是class方式实例化的时候,第二次是js注册事件。

网上找了很久~都没解决。
后来想到因为用按钮触发请求是不会出现两次请求的,我就在想能不能通过延时初始化,
代码如下
init();
function init() {
$('#dic').datagrid({});
//延迟加载,否则页面请求两次
setTimeout(refreshDic, 100);
}
function refreshDic() {
$('#dic').datagrid({
queryParams: {
dictName
.........
}
通过setTimeout实现延时请求,果断不请求两次了
为了那100毫秒页面没渲染的太难看,先初始化个简单的datagrid。
延迟的毫秒数试过很多,最小95毫秒左右,不能再小了,否则还是请求两次。
...全文
1949 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT_Admin123 2017-09-06
  • 打赏
  • 举报
回复
人才啊,我也头大了好久万分感谢
灬终极斗士 2016-11-12
  • 打赏
  • 举报
回复
html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解决的方法就是只用一种初始化方法来声明easyUI组件以避免重复的提交请求,即删除html中的class声明(class="easyui-datagrid") http://jyhft.com/jedjj.html
qq_23878847 2016-09-09
  • 打赏
  • 举报
回复
http://www.cnblogs.com/easypass/archive/2012/12/27/2835219.html
fandiainiuniu 2015-06-12
  • 打赏
  • 举报
回复
我觉得有可能导入js到jsp页面时机不对吧!
qq_28314843 2015-06-12
  • 打赏
  • 举报
回复
非常感谢,头疼很久了
2016-1-31 更新 1、使用时不再需要显示调用followCustomHandle方法,即可生效扩展属性。 2013-9-3 更新 1、$.showWindow 和 $.showModalDialog 在useiframe=true时,对窗体body增加遮罩控制。 2、easyui.tabs的add方法当useiframe=true时,增加遮罩控制。 3、toolbar增加url属性,可以通过请求后台数据构建。 4、增加mask(遮罩)扩展。 2013-8-26 更新 1、tree增加支持类标准数据格式加载,具体看demo或jquery.easyui.tree.extend.js文件开头说明。 2、修复datagrid在rowediting编辑风格时点击“确定”按钮无法提交问题。 3、datagrid和treegrid增加getEditingRows方法,用来获取所有正在编辑的行。 4、修复tabs.add方法,当useiframe=true时, iframe的高度改为100%。 5、修复当tabs使用iframe时,右键菜单刷新报错问题。 6、增加combotree对简单数据格式和类标准数据格式的加载,具体参考jquery.easyui.tree.extend.js文件开头说明。 7、修复datagrid.onConfirmEdit事件默认实现bug。 8、增加treegrid.onConfirmEdit事件。 2013-8-12 更新 1、修复combobox在级联操作时,传递的swd参数值为null,而不是选中值。 2、datagrid的addEventListener 方法增加对事件onExpandRow和onCollapseRow的控制。 3、tree增加自定义属性 attributes,用于简单数据加载时,指定那些字段当作node的attributes属性使用。 4、combobox增加 getSelected 方法, 返回选中item的data值。 5、combogrid增加 getSelected 方法,返回选中item的data值。 6、datagrid增加 getAllExpandRowIndex 方法,用于在detailView视图下获取当前页已展开行的索引。 7、datagrid增加 getExpandRowIndex 方法,用于在detailView视图下获取当前页第一个展开行的索引。 8、datagrid增加 fixDetailRowWidth 方法,用于detailView视图下修改rowDetial中组件宽度。 9、getAllExpandRowIndex、getExpandRowIndex、fixDetailRowWidth 这三个方法联合使用可解决detailView视图下列拖拽时显示错位问题。 10、修复datagrid 的rowEditing编辑风格在没有数据的datagrid中增加数据后,再编辑时无法显示的问题。 11、datagrid增加自定义事件 onConfirmEdit , 用于rowEditing编辑风格点击“确定”按钮时触发。当事件返回false时终止endEdit方法调用。 2013-7-31 更新 1、$.showWindow、$.showModalDialog 这两个方法增加返回值,返回值指向当前弹出窗的引用。 2、移除根据$.browser.msie判断浏览器版本。 2013-7-18 更新 1、menu、datagrid、combo、combobox、panel、tabs、tree、treegrid 增加 addEventListener 方法。 2、修复menu、datagrid、combo、combobox、panel、tabs、tree、treegrid 因事件注册造成多次重复渲染的问题(包括多次请求后台数据)。 3、移除datagrid 的rowContextMenu菜单项默认事件替换功能。 4、删除datagrid rowContextMenu默认菜单中的增加、编辑、导出菜单项。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧