【发布时间】:2014-01-22 09:36:19
【问题描述】:
我正在尝试将字符串传递给使用 Ajax Stringify 的控制器,但出现此错误 415(不支持的媒体类型) 我的 Ajax 调用:
$.ajax({
type: "POST",
contentType : 'application/json; charset=utf-8',
dataType : 'json',
url: "addSample",
data: JSON.stringify(search), // Note it is important
cache : false,
beforeSend : function(xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success : function(response) {
console.log("Success: "+ response);
},
error : function(xhr) {
console.log("Sorry, there was a problem! " + xhr.responseText);
},
complete : function() {
console.log("Request complete");
}
});
传递字符串:
var search = {
" name" : "aa",
"sname": "bb",
"dname" : "cc"
}
我的弹簧控制器功能:
@RequestMapping(headers={"Accept=application/json"},value = "addSample", method = RequestMethod.POST)
public @ResponseBody
String addData(HttpServletRequest request,@RequestBody final DemoDTO demoDTO)
{
return "{\"value\":\"true\"}";
}
我的 DTO:
public class DemoDTO implements Serializable{
private String name;
private String sname;
private String dname;
//getter setter
}
请帮我解决这个问题....
【问题讨论】:
-
请求 addCourseStructure 的方法在哪里,您的方法适用于 value = "addSample" 请求
-
对不起,我的错误,输入错误。但在我的代码中它是正确的。
-
您能否确认您的项目中有
jackson-core和jackson-mapperjar?这些负责自动将 JSON 转换为 DTO,反之亦然。如果您使用的是 Maven,则这些应定义为pom.xml中的依赖项 -
@VSN 请更新代码
-
@AshishJagtap 我已经更新了代码。
标签: java jquery ajax spring spring-mvc