共计 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);
}
});
}
});
正文完