SpringMVC在使用JSON时报错信息为:Content type 'application/json;charset=UTF-8' not supported
直接原因是:我的(maven)项目parent父工程pom.xml缺少必要的三个jar包依赖坐标。
解决方法是:在web子模块的pom.xml里面添加springMVC使用JSON实现AJAX请求。
<!--spring mvc-json依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.9</version>
</dependency><spring.version>5.0.15.RELEASE</spring.version>
jsp页面的<script>标签
//用jQuery实现AJAX请求提交数据到服务器端
//保存数据到服务器,成功时控制台打印显示信息
var selectListTest = new Array();
selectListTest[0] = "param1";
selectListTest[1] = "param2";
selectListTest[2] = "param3";
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/product/delete.do",
contentType:"application/json",//jQuery的ajax提交数组使得springMVC使用必填参数
//接收用@requestBody
data:JSON.stringify(selectListTest), //数组通过JSON.stringify格式化
success:function (data) {
alert(data);
} });
视图层Controller类的Method
//删除产品的某个分类通过产品编号
@RequestMapping("/delete.do")
@ResponseBody
public String deleteByNum(@RequestBody List<String> selectListTest)throws Exception{
System.out.println( "JSP页面通过AJAX技术提交POST请求的路径找到。" );
// productService.deleteByNum(product); System.out.println( selectListTest );
System.out.println( "JSP页面通过AJAX技术提交字符串数组成功实现。" ); return"redirect:findAll.do";
}
总结一下,解决该问题需注意一下三点:
1. 使用jackson依赖jar包。
2. jQuery的 $.ajax() 里面需要对JSP页面里的字符串数组提交之前格式化。
var testList=['1','2','3'];
$.ajax({
type: "post",
url: "${pageContext.request.contextPath}/product/delete.do",
contentType:"application/json",
data:JSON.stringify(testList),
success: function(obj){
alert(obj.description);
},
error: function(obj){
alert("操作出错");
return false;
}
});
3. Controller控制层AJAX请求的调用的方法需在参数前加 @RequestBody注解。
public void method(@RequestBody List<String> testList) { return;
}
==================
end
参考资料:
关于Ajax请求传递数组参数的解决办法
SpringMVC在使用JSON时报错信息为:Content type 'application/json;charset=UTF-8' not supported的更多相关文章
- Jmeter发送post请求报错Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
常识普及: Content-type,在Request Headers里面,告诉服务器,我们发送的请求信息格式,在JMeter中,信息头存储在信息头管理器中,所以在做接口测试的时候,我们维护Conte ...
- org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
最后找到我的问题,springmvc配置文件中没加 <mvc:annotation-driven/> java代码: @RequestMapping(value="/reques ...
- Content type 'application/json;charset=UTF-8' not supported异常的解决过程
首先说一下当时的场景,其实就是一个很简单的添加操作,后台传递的值是json格式的,如下图 ,后台对应的实体类, @Data @EqualsAndHashCode(callSuper = false) ...
- ajax使用向Spring MVC发送JSON数据出现 org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported错误
ajax使用向Spring MVC发送JSON数据时,后端Controller在接受JSON数据时报org.springframework.web.HttpMediaTypeNotSupportedE ...
- springboot 报错 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
开始 controller 方法写的是 @RequestMapping( value = "/add", method = RequestMethod.POST ) public ...
- org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported或其他Content type不支持处理
很久没从头到尾搭框架,今天搭的过程中,springmvc controller方法入参用@RequestBody自动绑定参数时一直提示各种 not supported 排查问题有两个解决路径: 1)使 ...
- Resource interpreted as Document but transferred with MIME type application/json laravel异常请求返回警告
一般情况下,laravel在方法里可以向前端返回数组格式 return [], 框架可以自动将数组转成JSON字符串返回,但浏览器会报MIME类型警告, 如是做APP接口可以忽视该警告: 但在前端aj ...
- 解决IE浏览器中出现“Resource interpreted as Document but transferred with MIME type application/json”问题
在上传图片时,使用ajax提交,返回的数据格式为json.在测试时发现IE浏览器中,上传图片后,没有显示图片,而是弹出一个提示:是否保存UploadImg.json文件:而在其他浏览器中正常. 在Ch ...
- ajax 发送json数据时为什么需要设置contentType: "application/json”
1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别? contentType: "application/j ...
随机推荐
- 【OJ2216】小奇的数列
题目大意 : 给定一个长度为 \(n\) 的数列,以及 \(m\) 次询问,每次给出三个数 \(l\),\(r\) 和 \(P\),询问 \((\sum_{i=l_1}^{r_1}a_i)\;mod\ ...
- 实验吧-杂项-flag.xls(notepad++查找)、保险箱(linux文件分解、密码破解)
flag.xls 下载文件,用notepad++打开,查找flag就能找到flag. 保险箱(linux文件分解.密码破解) 将图片保存下来,用kali的binwalk分析,发现有rar文件,然后用f ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 异常处理
异常是程序在执行期间产生的问题.C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作. 异常提供了一种转移程序控制权的方式.C++ 异常处理涉及到三个关键字:try.catch.throw ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 接口(抽象类)
接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类中至少有一个函数被声明为纯虚 ...
- springboot - 使用ErrorAttributes 在我们自定义的 ErrorController中
1.概览 基于<springboot - 映射 /error 到自定义且实现了ErrorController的Controller>改造,仅将MyCustomErrorController ...
- P5091 【模板】欧拉定理(欧拉降幂)
P5091 [模板]欧拉定理 以上3张图是从这篇 博客 里盗的,讲的比较清楚. #include<bits/stdc++.h> using namespace std; typedef l ...
- PHP基础(9.27 第十三天)
什么是PHP,为什么要学习PHP: (1)php是嵌入html页面中的脚本语言 (2)目前最流行的网站开发语言 (3)在几乎所有平台中都可以运行 (4)很多企业都在使用PHP作为开发语言 P ...
- HDU - 1114 Piggy-Bank(完全背包讲解)
题意:背包重量为F-E,有N种硬币,价值为Pi,重量为Wi,硬币个数enough(无穷多个),问若要将背包完全塞满,最少需要多少钱,若塞不满输出“This is impossible.”. 分析:完全 ...
- JavaSE--日志
参考 https://www.cnblogs.com/hanszhao/p/9754419.html https://www.cnblogs.com/chenhongliang/p/5312517.h ...
- java课程之团队开发冲刺阶段2.2
一.总结昨天进度 1.单独实现静音功能,还没有进行整体整合 二.遇到的问题 1.一开始设计静音的思路有问题,所以在实现上有些许麻烦,一开始的想法是将这些音量直接设置为0就可以实现静音,但是在恢复响铃模 ...