ajax请求报错415,Unsupported Media Type 415问题解决办法(Ajax)

场景: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;

}

返回结果:

75429d711c565c6e94305df619fa1d17.png

随机推荐

从程序员到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获取相关资源信息的重要接口,了解这些接 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值