首先,如果是maven工程的话,需要在pom.xml文件中添加下方依赖
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<!-- json解析包 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.2</version>
</dependency>
如果是普通java,只要导入相关包即可
前台ajax:
var data={"data":"哈哈"};
$.ajax({
type:"post",
contentType:"application/json;charset=UTF-8",//一般报415错误都是没设置这个
headers:{"Content-Type":"application/json;charset=UTF-8"},
url:"${pageContext.request.contextPath}/admin/tests",
data:JSON.stringify(data),//如果没有转为json字符串,可能会报400错误
dataType:"json",
success:function(data){
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status+"d"+XMLHttpRequest.readyState+"d"+errorThrown);
}
})
后台接收:
@RequestMapping(value="tests",method = {RequestMethod.POST })
@ResponseBody
public String tests(@RequestBody JSONObject data){
String majorID=data.getString("data");
system.out.println(majorID);
return "null";
}
前台提交2:
//也可以data:$("表单").serialize()来进行提交,这样子的话后台直接新建一个跟表单一样的实体类即可
对应的后台接收2:
@RequestMapping(value="tests",method = {RequestMethod.POST })
@ResponseBody
public String tests(@RequestBody User user){
//自己新建一个跟表单一样类,属性跟表单的name一样即可自动赋值上去
}