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毫秒左右,不能再小了,否则还是请求两次。
...全文
2000 5 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
非常感谢,头疼很久了

87,994

社区成员

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

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