关于前端:EasyUI-datagrid的contenttype如何配置

10次阅读

共计 633 个字符,预计需要花费 2 分钟才能阅读完成。

Spring MVC 在接管汇合申请参数时,须要在 Controller 办法的汇合参数里前增加 @RequestBody,而 @RequestBody 默认接管的 enctype (MIME 编码) 是 application/json,因而发送 POST 申请时须要设置申请报文头信息,否则 Spring MVC 在解析汇合申请参数时不会主动的转换成 JSON 数据再解析成相应的汇合。
在应用 easyUi 的 datagrid 申请数据,其中默认的形式是:
application/x-www-form-urlencoded; charset=UTF-8

然而后端要求用 application/json。datagrid 并没有配置 content-type 的属性。

解决形式

通过一上午钻研,可用如下形式,重写 datagrid 类中的 loader 办法批改其配置。

$("#grid").datagrid({
    queryParams:params,
    ...// 其余参数配置
    loader : function(param, success, error) {
        $.ajax({
            type : 'post', // 申请形式
            url : 'xxxxxx', // 申请地址
            dataType : 'json',
            contentType : 'application/json;charset=utf-8', // 设置申请头信息
            data : JSON.stringify(param),
            success : function(result) {success(result);                
            }
        });
    }
 
});
正文完
 0