springmvc 中的Ajax中各种传参方式(希望可以帮到大家)

传递普通字符串
  前台:

   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());

}

    }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值