EasyUI使用tree生成树形结构加载两次的问题

今天开发中无意发现,EasyUI使用tree生成树形结构加载居然向后台发送了两次一模一样的请求,导致加载了两次(alert("=======>")也运行了两次),先贴出代码:

js代码:

function initTree() {
	$('#vl').tree({
		url: treeUrl,//treeUrl为请求的url
		animate: false,
		lines : true,
		checkbox : false,
		onClick: function(node) {
			nodeClick(node);
		},
		onLoadSuccess: function(data) {
			//alert("=======>");
			//此处代码省略....
		}
	});
	
}

html代码:

	<div style="width: 30%; position: absolute; top: 34px; bottom: 0;">
		<ul id="vl" data-options="region:'center',border: true" 
			class="easyui-tree">
		</ul>
	</div>


然后自己网上搜了一下,解决方法:

只需要把<ul id="vl" class="easyui-tree"></ul>中的class="easyui-tree"删除就可以了。


其解释为:

      “html代码中利用class声明了easyui-tree,导致easyUI解析class代码的时候先解析class声明中的easyui-tree这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解决的方法就是只用一种初始化方法来声明easyUI组件以避免重复的提交请求,即删除html中的class声明(class="easyui-tree");”

但是正如前面所说,向后台发送了两次一模一样的请求,导致加载了两次,我将initTree()方法注释掉后,后台就收不到请求,还有就是既然”easyUI解析class代码的时候先解析class声明中的easyui-tree这样组件就请求了一次url”,那它在解析时,为什么请求的url与js请求的url一样呢?

所以,我觉得应该js中的请求先执行,然后再是easyUI组件请求。。。


不管如何,经过实践,上述提供的方法确实是能够解决发送两次请求这个问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值