直接原因是:我的(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的更多相关文章

  1. Jmeter发送post请求报错Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

    常识普及: Content-type,在Request Headers里面,告诉服务器,我们发送的请求信息格式,在JMeter中,信息头存储在信息头管理器中,所以在做接口测试的时候,我们维护Conte ...

  2. org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported

    最后找到我的问题,springmvc配置文件中没加 <mvc:annotation-driven/> java代码: @RequestMapping(value="/reques ...

  3. Content type 'application/json;charset=UTF-8' not supported异常的解决过程

    首先说一下当时的场景,其实就是一个很简单的添加操作,后台传递的值是json格式的,如下图 ,后台对应的实体类, @Data @EqualsAndHashCode(callSuper = false) ...

  4. 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 ...

  5. springboot 报错 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

    开始 controller 方法写的是 @RequestMapping( value = "/add", method = RequestMethod.POST ) public ...

  6. org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported或其他Content type不支持处理

    很久没从头到尾搭框架,今天搭的过程中,springmvc controller方法入参用@RequestBody自动绑定参数时一直提示各种 not supported 排查问题有两个解决路径: 1)使 ...

  7. Resource interpreted as Document but transferred with MIME type application/json laravel异常请求返回警告

    一般情况下,laravel在方法里可以向前端返回数组格式 return [], 框架可以自动将数组转成JSON字符串返回,但浏览器会报MIME类型警告, 如是做APP接口可以忽视该警告: 但在前端aj ...

  8. 解决IE浏览器中出现“Resource interpreted as Document but transferred with MIME type application/json”问题

    在上传图片时,使用ajax提交,返回的数据格式为json.在测试时发现IE浏览器中,上传图片后,没有显示图片,而是弹出一个提示:是否保存UploadImg.json文件:而在其他浏览器中正常. 在Ch ...

  9. ajax 发送json数据时为什么需要设置contentType: "application/json”

    1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别? contentType: "application/j ...

随机推荐

  1. 三十五、在SAP中定义选择屏幕,设置选择范围

    一.代码如下,有2个地方需要注意,一个是SELECT-OPTIONS,还有一个是IN的使用 二.我们定义一下选择文本 三.我们运行程序 四.输出 五.当然,选择的时候,我们也可以用其他的方式,如下图

  2. WinForm读写App.config配置文件

    一.配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是conf ...

  3. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-adjust

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. js如何操作或是更改sass里的变量

    /*上网搜索了好多方法,最终只有这一种比较适合*/ 参考: https://blog.csdn.net/weixin_44392565/article/details/85755592 https:/ ...

  5. UVA - 1645 Count (统计有根树)(dp)

    题意:输入n(n <=1000),统计有多少个n结点的有根树,使得每个深度中所有结点的子结点数相同.输出数目除以109+7的余数. 分析: 1.dp[i],i个结点的有根树个数 2.假设n=7, ...

  6. cf 730J. Bottles

    搞一个背包,233 要求用的瓶数最少,那么就业瓶数为第一关键,当瓶数相当后再以a[i] #include<bits/stdc++.h> #define N 100005 #define L ...

  7. cnblogs今天挂了

    刚打算搬进来常驻cnblogs,好死不死,它今天11点40分左右挂了.真是不让人省心: 今天把这后面这几个月的随笔放过来,希望能不会被清掉:

  8. GitHub Token for composer

    a2248520cdd2b1d27c2c70741003b9078530d81c

  9. hdu 1799 循环多少次?(组合)

    题目是这样的:   我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如果代码中 ...

  10. 吴裕雄--天生自然 JAVASCRIPT开发学习:条件语句

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...