我无法让这件事发挥作用。除了我尝试发布实际对象时,该项目完美无缺。我可以发布单个字符串。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<h1>post test</h1>
<button id="postButton">post</button>
<script>
var myObject = {
name : "Johnny",
field : "something"
};
$(function() {
$("#postButton").click(function() {
$.post("posting", JSON.stringify(myObject), function(data, status) {
alert(status);
});
});
});
</script>
</body>
</html>
控制器:
package app.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import model.MyObject;
@Controller
public class MainController {
@RequestMapping(value = "/posting", method = RequestMethod.POST)
@ResponseBody
public void posting(@RequestBody MyObject myObject) {
System.out.println(myObject.getName());
}
}
myObject的:
package model;
public class MyObject {
private String name;
private String field;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
}
非常感谢任何帮助。我在没有JSON.stringify的情况下尝试了它,它也不起作用。
答案 0 :(得分:0)
你回来了什么状态?我的第一个想法是,您可能会收到HTTP 415 Unsupported Media Type
,因为您可能没有向您的控制器发送Content-Type: application/json
。
无论您收到的任何错误消息都可能有助于回答。