JQuery EasyUI 加载两次url的原因分析及解决方案
程序员文章站
2022-05-29 12:55:54
1、传统方式
$(function () {
var url = &quo...
1、传统方式
<span style="font-size:18px;">$(function () { var url = "../source/query/jhdataqry.ashx?action=query"; $(dg).datagrid({ url: url, queryparams: { qsrq: qsrq, zzrq: zzrq } }); }) <table id="datagrid" class="easyui-datagrid" fit="true" border="false" toolbar="#tbar" pagination="true" data-options="pagesize:20,pagelist: [10, 20, 30, 40, 50,100,5000],idfield:'chjid',sortname:'chjbh', queryparams: { 'action': 'query'}" rownumbers="true" singleselect="true" url="../source/jichu/chjdoc.ashx"> <thead> <tr> </tr> </thead> </table></span>
2、原因分析及解决方案
html代码中利用class声明了datagrid,导致easyui解析class代码的时候先解析class声明中的datagrid,这样就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解决的方法就是只用一种初始化方法来声明easyui组件以避免重复的提交请求,即删除html中的class声明(class="easyui-datagrid"),修改后的代码如下:
<span style="font-size:18px;"><table id="datagrid" fit="true" border="false" toolbar="#tbar" pagination="true" data-options="pagesize:20,pagelist: [10, 20, 30, 40, 50,100,5000],idfield:'chjid',sortname:'chjbh'" rownumbers="true" singleselect="true" url="../source/jichu/chjdoc.ashx"> <thead> <tr> </tr> </thead> </table></span>
下一篇: jsp自动跳转的几种方法