天天看点

spring mvc 前台向后台传递参数方法总结

1.restful

前台代码

var userName = "test";

var userMobile = "gz";

$.ajax({

                        url:"user/modify/"+username+"/"+userMobile,

                        type:"get",

                        dataType:"json",

                          contentType:"application/json",

                        success:function(data){

                            alert(JSON.stringify(data));

                        },

                        error:function(data) {

                               // alert(JSON.stringify(data));

                                alert("error");

                        }

});

这里的数据是用restful方式发送的,所以要追加到连接的后面

后台代码:

@RequestMapping(value="user/modify/{str1}/{str2}")

    public @ResponseBody int contractTime(

            @PathVariable("str1") String userName,

            @PathVariable("str2") String userMobile

            ){

      System.out.println(userName+","+userMobile);

      return 0;

    }

这里注意,user/modify/{str1}/{str2}中的{}数量要和你传递过来的参数格式是一致的,这样才能获取

输出结果:

test,gz

成功将数据获取

2.json

前台代码(只能是post方式请求):

注意:这里的data是用JSON.stringify()处理的,因为@requestBody接收的是json的字符串,所以我们要在传递的时候讲json处理成字符串之后想后台传递后台才能接收.

var data={"userName":"test","userMobile":"gz"};

            $.ajax({

                type:"POST",

                url:"user/modify",

                dataType:"json",      

                contentType:"application/json",               

                data:JSON.stringify(data),

                success:function(data){

                }

});

后台代码:

@RequestMapping(value="user/modify",method=RequestMethod.POST)

    public @ResponseBody int modify(@RequestBody User user){

        System.out.println(user.getUserName()+","+user.getUserMobile());

        return 0;

    }

这里要注意,@RequestBody只能接收POST请求,get是不行的,这里的User是一个实体类,里边包含userName和userMobile两个属性

输出结果:

test,gz

成功将数据获取