easyUI datagrid 修改ajax方式

在开发中 ,请求的数据方式不符合easyUI datagrid默认的请求方式,这个时候就需要开easyUI的源码,进行修改。

例如对接的数据需要post方式,而datagrid 默认为get方式,会导致405错误;

contentType默认为contentType: opts.contentType?opts.contentType:"text/html",需要改为 contentType: 'application/json', 否则会出现415错误。

注意,在loader里参数一定要传输对,不然会出现500错误。

 

代码如下:

 1  $dataGrid.datagrid(
 2             {
 3                 rownumbers: true,
 4                 checkOnSelect: true,
 5                 selectOnCheck: true,
 6                 singleSelect: false,
 7                 //title: '手表佩戴者信息',
 8                 fit: true,
 9                 fitColumns: true,
10                 toolbar: '#toolbar',
11                 //url: "/temp.json",
12                 //method: 'get',
13                 border: false,
14                 pageSize: 15,
15                 pageList: [15, 30, 50],
16                 pagination: true,
17                 queryParams: getParams(),
18                 columns: Columns,
19                 loader : function(param, success, error) { //param.page和param.rows是页码和页数。
20                             param.biz_content.current_page = ""+param.page+"";
21                             param.biz_content.page_size = ""+param.rows+"";
22                             $.ajax({
23                                 url : URL, //申请地址
24                                 contentType: 'application/json',
25                                 type: "POST",
26                                 data: JSON.stringify(param),
27                                 success : function(result) {       
28                                     success(result);                
29                                 }
30                             });
31                     }
32             })

loader源码

 1 loader: function(_629, _62a, _62b) {
 2             var opts = $(this).datagrid("options");
 3             if(!opts.url) {
 4                 return false;
 5             }
 6             $.ajax({
 7                 type: opts.method,
 8                 url: opts.url,
 9                 data: _629,
10                 dataType: "json",
11                 contentType: opts.contentType?opts.contentType:"text/html",
12                 success: function(data) {
13                     _62a(data);
14                 },
15                 error: function() {
16                     _62b.apply(this, arguments);
17                 }
18             });
19         }

 

posted @ 2021-12-03 22:33  laoyang01  阅读(519)  评论(0编辑  收藏  举报