1. 程式人生 > >springmvc 中的Ajax中各種傳參方式(希望可以幫到大家)

springmvc 中的Ajax中各種傳參方式(希望可以幫到大家)

  1. 傳遞普通字串

  前臺:

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

}

    }