Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 415在ajax调用Spring mvc中发送json对象不支持的媒体类型_Jquery_Json_Ajax_Spring Mvc - Fatal编程技术网

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

Jquery 415在ajax调用Spring mvc中发送json对象不支持的媒体类型,jquery,json,ajax,spring-mvc,Jquery,Json,Ajax,Spring Mvc,我正在从ajax调用向SpringMVC控制器发送json对象 这是我发送给控制器的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

我正在从ajax调用向SpringMVC控制器发送json对象

这是我发送给控制器的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<String, Object> inputParameter, 
         @RequestParam("data")  String ja) {
    System.out.println("--------------Entered Save-----------");
     return "menu"
 }
RequestMapping(value=“save.web”,method=RequestMethod.POST)
公共字符串保存(HttpServletRequest请求,HttpServletResponse
响应,@RequestBody映射inputParameter,
@RequestParam(“数据”)字符串(ja){
System.out.println(“--------------输入保存-----------------”;
返回“菜单”
}
我尝试使用@requestBody注释而不是@requestParam。我尝试在RequestMapping中设置标题并使用了Consumes,但仍然收到了POST 415(不支持的媒体类型) 错误


请告诉我解决办法。由于请求中的内容媒体类型不是服务器期望的类型,我尝试了很多服务器正在发送415

将contentType添加到请求头中,如:
contentType:“application/json”


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

将contentType添加到请求头中,如:
contentType:“application/json”

我解决了我的错误

我将@RequestBody从我的控制器中删除。

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

Include jackson-binding.jar in your classpath.

<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.11</version>
</dependency>

Also set content-type="application-json" in request-header
我将从我的控制器中删除@RequestBody..

在类路径中包含jackson-binding.jar。
Include jackson-binding.jar in your classpath.

<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.11</version>
</dependency>

Also set content-type="application-json" in request-header
org.codehaus.jackson 杰克逊地图绘制者 1.9.11 还可以在请求头中设置content type=“application json”
在类路径中包含jackson-binding.jar。
org.codehaus.jackson
杰克逊地图绘制者
1.9.11
还可以在请求头中设置content type=“application json”

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

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

我在ajax调用中添加了contentType:“application/json”,但仍然存在相同的错误。将数据:“data=“+json.stringify(jsonArray)更改为data:json.stringify(jsonArray)。输出应该类似于$.ajax({url:'save.web',数据类型:'json',类型:'post',内容类型:'application/json',数据:json.stringify(jsonArray),成功:函数(数据){}我试图更改daa:json.stringify(jsonArray)…错误仍然存在您是否遇到了相同的错误415或其他错误one@DhaneeshNair添加了
contentType:“application/json”
对我来说很有效。我之前得到了
415
,之后得到了预期的数据。我在ajax调用中添加了contentType:“application/json”,但仍然存在相同的错误。更改数据:“data=”+将JSON.stringify(jsonArray)转换为data:JSON.stringify(jsonArray)。输出应如下$.ajax({url:'save.web',数据类型:'JSON',类型:'post',内容类型:'application/JSON',数据:JSON.stringify(jsonArray),成功:函数(数据){}我试图更改daa:JSON.stringify(jsonArray)…错误仍然存在您是否遇到了相同的错误415或其他错误one@DhaneeshNair添加了
contentType:“application/json”
对我来说很有效。我之前得到了
415
,之后得到了预期的数据。那么您如何将表单数据映射到后端?如果使用Rest API,如.NET Core,则删除[FromBody]控制器方法参数中的属性对我有效。例如创建([FromBody]Foo-Foo)到创建(Foo-Foo),那么如何将表单数据映射到后端?如果使用Rest API,如.NET Core,则删除控制器方法参数中的[FromBody]属性对我有效。例如创建([FromBody]Foo-Foo)到创建(Foo-Foo)