实体类
一定要实现serializable!
public class User implements Serializable{
private String username;
private String password;
private Integer age;
private List<String> contacts;
private Map<String,String> maps;
//set get toString....
控制层
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/testAjax1")
public @ResponseBody User testAjax1(@RequestBody User user){
// 客户端发送ajax的请求,传的是json字符串,后端把json字符串封装到user对象中
System.out.println(user);
// 做响应,模拟查询数据库
user.setUsername("xxx");
user.setAge(100);
user.setPassword("xxx");
// 做响应
return user;
}
/**
* 模拟异步请求响应
*/
@RequestMapping(value="/testAjax2",method = RequestMethod.GET)
public @ResponseBody User testAjax2(String name,String password){
// 客户端发送ajax的请求,传的是json字符串,后端把json字符串封装到user对象中
// 做响应,模拟查询数据库
User user=new User();
user.setPassword(password);
user.setUsername(name);
// 做响应
return user;
}
/**
* 模拟异步请求响应
*/
@RequestMapping(value="/testAjax3",method = RequestMethod.POST)
public @ResponseBody User testAjax3(String name,String password){
// 客户端发送ajax的请求,传的是json字符串,后端把json字符串封装到user对象中
// 做响应,模拟查询数据库
User user=new User();
user.setPassword(password);
user.setUsername(name);
// 做响应
return user;
}
}
jsp页面(传递字符串)
$("#btn").click(function () {
// 发送ajax请求
$.ajax({
// 编写json格式,设置属性和值
url: "user/testAjax1",
contentType: "application/json;charset=UTF-8",
data: '{"username":"hehe","password":"123","age":30}',
dataType: "json",
type: "post",
success: function (data) {
// data服务器端响应的json的数据,进行解析
alert(data);
alert(data.username);
alert(data.password);
alert(data.age);
}
});
});
jsp页面(传递对象)
$("#btn4").click(function () {
var user = {
"username": "hehe",
"password": "123",
"age": 10,
"contacts": ["123", "456"],
"maps": {"key1": "value1", "key2": "value2"}
}
alert(4);
// 发送ajax请求
$.ajax({
// 编写json格式,设置属性和值
url: "user/testAjax1",
data: JSON.stringify(user),
dataType: "json",
type: "post",
contentType: "application/json",
success: function (data) {
// data服务器端响应的json的数据,进行解析
for (var p in data.maps) {
alert(p);
alert(data.maps[p]);
}
},
error: function () {
alert("error!")
}
});
});
jsp页面,post/get方式传递多个参数
$("#btn2").click(function () {
// 发送ajax请求
$.ajax({
// 编写json格式,设置属性和值
url: "user/testAjax2?name=jack&password=123",
dataType: "text",
type: "get",
success: function (data) {
// data服务器端响应的json的数据,进行解析
alert(data);
},
error: function () {
alert("error!")
}
});
});
$("#btn3").click(function () {
// 发送ajax请求
$.ajax({
// 编写json格式,设置属性和值
url: "user/testAjax3",
dataType: "text",
type: "post",
data: "name=jack&password=123",//请求参数
success: function (data) {
// data服务器端响应的json的数据,进行解析
alert(data);
},
error: function () {
alert("error2!")
}
});
});