1、傳統方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<span style= "font-size:18px;" >$( function () { $(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"),修改后的代碼如下:
1
2
3
4
5
6
7
8
|
< 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 > |