场景:Ajax传一个json对象到服务器,让参数自动封装至与json对象匹配的java对象中。
错误类型
错误类型1:
"status":415
"error":"Unsupported Media Type"
"exception":"org.springframework.web.HttpMediaTypeNotSupportedException"
原因:没有使用JSON.stringify(rowData)方法将请求参数转化为json字符串
错误类型2:
"status":400
"error":"Bad Request"
"exception":"org.springframework.http.converter.HttpMessageNotReadableException"
原因:未使用[contentType : 'application/json',]配置指定请求参数格式。
正确代码
js代码:
rowData:是easyui datagrid表格的一行数据,和服务器的一个java类Condition对象属性完全匹配。
JSON.stringify(rowData):将rowData对象解析成字符创。
$.ajax({
type : 'PUT',
url : url,
dataType : 'json',
contentType : 'application/json',
data : JSON.stringify(rowData),
beforeSend : function () {
// ....
},
success : function (data) { // 返回的RequestResult的json对象
console.log(data);
},
});
spring boot Controller 接收参数的 java代码:
@RequestMapping(value = "/test", method = RequestMethod.PUT)
public @ResponseBody RequestResult modifyCondition(@RequestBody Condition condition) {
System.out.println("condition:" + condition.toString());
// 创建假返回数据
RequestResult result = new RequestResult();
result.setCode(0);
result.setMessage("success");
return result;
}
返回结果:
随机推荐
从程序员到CTO的Java技术路线图 作者:zz563143188
在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...
online ddl 使用、测试及关键函数栈
[MySQL 5.6] MySQL 5.6 online ddl 使用.测试及关键函数栈 http://mysqllover.com/?p=547 本文主要分为三个部分,第一部分是看文档时的笔记:第 ...
css 之position用法详解
css 之position用法详解: http://www.jb51.net/web/77495.html
快速启动软件之 Rolan ,你真的会用?
2015.2.14 很高兴 Rolan 这个软件至今还在更新,并且愈发完善,UI 的设计和功能上的改进都给了我不小的震撼. 如今的 Rolan ,可以对比一下 2014 年的图,变化真的很大有木有: ...
关于谷歌浏览器下自动填写密码的bug
有的时候我们需要用到h5中input的新类型,type=password 这个可以很好的将输入的内容变成圆点,但是这样做也有一个小bug就是在某些我们不希望自动保存密码的页面中,也会出现浏览器自动帮我 ...
NSArray使用小结
http://blog.csdn.net/ms2146/article/details/8654263
水晶报表在vs2010 ;WPF环境下的尝试
原文:水晶报表在vs2010 WPF环境下的尝试 由于VS2010没有集成水晶报表组件,尝试前必须先安装 水晶报表 for VS2010,若机器未安装的可点击这里>>>下载安装 新建 ...
1286 unknown storage engine innodb
打开my.ini 找到 loose-skip-innodb 与 skip-innodb 前面加上 # 注释掉,重启mysql 服务
Servlet 核心接口
在Servlet体系结构中,除了用于实现Servlet的Servlet接口.GenericServlet类和HttpServlet类外,还有一些辅助Servlet获取相关资源信息的重要接口,了解这些接 ...