传递普通字符串
前台:
function shuzuTest2(){
$.ajax({
type:"POST",
url:"<%=basePath %>saveUser2",
dataType:"json",
contentType:"application/json", // 指定这个协议很重要
data:{aa:"ddd"}, //只有这一个参数,json格式,后台解析后可以直接用
success:function(data){
alert("响应成功")
}
});
}
Controller:
@RequestMapping(value = "saveUser2", method = {RequestMethod.POST })
@ResponseBody
public void saveu2(@RequestBody String aa ){
System.out.println("aa"+aa) ; // 返回字符串
}
2.传递普通类型的数组
前台:
function shuzuTest(){
alert("11");
var user1 = {
username : 'zs',
password : '123'
};
var user2 = {
username : 'lisi',
password : '234'
};
var person = {
name : 'zhaoliu',
password : '345'
};
var user = [];
user.push(user1);
user.push(user2);
user.push(person);
var userJson = JSON.stringify(user);
$.ajax({
type:"POST",
url:"<%=basePath %>saveUser",
dataType:"json",
contentType:"application/json", // 指定这个协议很重要
data:userJson, //只有这一个参数,json格式,后台解析为实体,后台可以直接用
success:function(data){
alert("响应成功")
}
});
}
Controller:
@RequestMapping(value = "saveUser", method = {RequestMethod.POST })
@ResponseBody
public String saveu(@RequestBody List<Object> list){
for(int i = 0 ; i <list.size();i++){
Object obj = list.get(i);
System.out.println(obj);
}
return "success";
}
3.组传递一个对象(传递的参数必须与实力类中的属性名相同)
前台: $(function(){
$("#idCard").blur(function() {
var cardNo = $("#idCard").val();
var data={idCard:cardNo};
/* 后台使用@RequestBody 注解,则必须使用JSon字符串格式传值*/
var args=JSON.stringify(data);
$.ajax({
type:"post",
url:"<%=basePath%>user/checkIdCard",
contentType:'application/json;charset=utf-8',
data:args,
success:function (data) {
if(data) {
$("#cardError").text(data);
}else{
//不做任何操作
}
},
error:function(){
alert("request失败");
}
});
});
});
Controller:
@RequestMapping(value="/checkIdCard",method={RequestMethod.POST,RequestMethod.GET}, produces = "text/html; charset=utf-8")
public @ResponseBody String checkExit( @RequestBody UserInfoEx EX) {
System.out.println("身份证号为"+EX.getIdCard());
UserInfoEx info;
try {
info = userservice.selectByCardID(EX.getIdCard());
if(info!=null){
System.out.println("有");
return "已存在该用户";
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
4.传递一个对象数组,Controller用数组接收
前台:
function shuzuTest3(){
alert("11");
var saveDataAry=[];
var data1={"name":"test","price":"gz"};
var data2={"name":"ququ","price":"gr"};
saveDataAry.push(data1);
saveDataAry.push(data2);
$.ajax({
type:"POST",
url:"<%=basePath %>saveUser3",
dataType:"json",
contentType:"application/json", // 指定这个协议很重要
data:JSON.stringify(saveDataAry), //只有这一个参数,json格式,后台解析为实体,后台可以直接用
success:function(data){
alert("响应成功")
}
});
}
Controller:
@RequestMapping(value = "saveUser3", method = {RequestMethod.POST })
@ResponseBody
public void saveu3( @RequestBody CommodityEntity [] users ){
System.out.println(users[0].getName()+users[0].getPrice()) ; // 此时的user是实体bean
System.out.println(users[1].getName()+users[1].getPrice());
}
5.传递一个数组,Controller用List接收
Controller:同上
后台: @RequestMapping(value = "saveUser4", method = {RequestMethod.POST })
@ResponseBody
public void saveu4( @RequestBody List<CommodityEntity> users ){
for (CommodityEntity comm : users) {
System.out.println(comm.getName()+comm.getPrice());
}
}