我们项目前端用的是jquery easyui,刚开始使用datagrid加载列表初始化时总是请求两次URL,这让人非常不解,怎么总是请求两次呢?数据一多,加载速度明显变慢,通过查资料才知道原来是重复声明了datagrid导致的。
具体解析:html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后又调用js初始化代码请求一次url,这样导致了重复加载。解决的方法就是只用一种初始化方法来声明easyUI组件以避免重复的提交请求,即删除html中的class声明(class="easyui-datagrid")
即:<table id="DataGrid" class="easyui-datagrid"> 改为 <table id="DataGrid"> 这样初始化时请求两次URL的问题就轻松的解决了。
注:easyui的其他组件也存在同样的问题,所以在声明时要多加注意别烦同样的错误。