415不支持的媒体类型,用于在ajax调用Spring mvc中发送json对象

我从jj调用发送json对象到spring mvc控制器。

这是我发给控制器的json对象。

[{"id":"7","priority":"8","startTime":"2015-09-23 01:01:00.0"}] 

我的ajax电话

  $.ajax({ url : 'save.web', datatype:'json', type: "post", data: "data="+JSON.stringify(jsonArray), success:function(data){ } 

我的控制器

  RequestMapping(value = "save.web", method = RequestMethod.POST) public String save( HttpServletRequest request, HttpServletResponse response,@RequestBody Map inputParameter, @RequestParam("data") String ja) { System.out.println("--------------Entered Save-----------"); return "menu" } 

我尝试使用@requestBody注释而不是@requestParam。 我尝试设置标题并在RequestMapping中使用Consumes仍然我得到POST http:// localhost:8089 / campaignManager / save.web 415(不支持的媒体类型)错误。

请让我知道解决方案。 我尝试了很多

由于请求中的内容媒体类型不是服务器所期望的,因此服务器正在发送415。

将contentType添加到请求标头,如: contentType: "application/json"

 $.ajax({ url : 'save.web', datatype:'json', type: "post", contentType: "application/json", data: "data="+JSON.stringify(jsonArray), success:function(data){ } 

我解决了我的错误。(415错误)

我从我的控制器中删除@RequestBody ..

 Include jackson-binding.jar in your classpath.   org.codehaus.jackson jackson-mapper-asl 1.9.11  Also set content-type="application-json" in request-header 

您收到415错误是因为返回类型而不是请求类型。 ajax不支持分块数据,这可能是您从服务中获得的默认响应之一。 这是您从新版本web-api获得的默认响应之一。 唯一的解决方案是使用XmlHttpRequest。