Spring MVC、Ajax和JSON的交互

来源:互联网 发布:对保险学的认识 知乎 编辑:程序博客网 时间:2024/06/11 04:12

第一种方式:通过实体类的方式在服务器端接受JSON数据格式,记得JSON中的属性需要跟类的属性想匹配。

页面代码示例:    function test(){            var jon ={name:"测试",pass:"1234"};            $.ajax({                    type: "POST",                    url: "testFanTai1.do",                    data:jon,                    success: function(msg) {                        var resmsg = eval_r("("+msg+")");                        alert(resmsg.name+"---"+resmsg.pass);                    }                })    }Action代码示例:@RequestMapping(value="/testFanTai1")    public @ResponseBody String testFanTai1(UserTest user){        String result =                "{"name":""+user.getName()+"","pwd":""+user.getPass()+""}";        return result;    }

第二种方式:服务器以字符串的方式获取JSON数据,但是数据要进行转码。

页面代码示例:    function test(){            var jon ={name:"测试",pass:"1234",id:4};            $.ajax({                    type: "POST",                    url: "testFanTai1.do",                    contentType:"application/json",                    data: JSON.stringify(jon),                    success: function(msg) {                        var resmsg = eval_r("("+msg+")");                        alert(resmsg.name+"---"+resmsg.pass);                    }                })    }Action代码示例:@RequestMapping(value="/testFanTai1")    public @ResponseBody String testFanTai1(@RequestBody String jon) throws UnsupportedEncodingException{        String result =URLDecoder.decode(jon, "UTF-8");   //可以用,也可以不用        //字符串转换为JSONObject对象,然后JSONObject对象转换为Map对象        JSONObject jsonObject = JSONObject.fromObject(result);        Map map = jsonObject;        return result;    }

第三种方式:直接以字符串的方式提交。

页面代码示例:    function test(){            var jon ={name:"测试",pass:"1234",id:4};            $.ajax({                    type: "POST",                    url: "testFanTai1.do",                    contentType:"application/json",                    data: "jon="+jon,                    success: function(msg) {                        var resmsg = eval_r("("+msg+")");                        alert(resmsg.name+"---"+resmsg.pass);                    }                })    }Action代码示例:@RequestMapping(value="/testFanTai1")    public @ResponseBody String testFanTai1(String jon) throws UnsupportedEncodingException{        String result =URLDecoder.decode(jon, "UTF-8");   //可以用,也可以不用        //字符串转换为JSONObject对象,然后JSONObject对象转换为Map对象        JSONObject jsonObject = JSONObject.fromObject(result);        Map map = jsonObject;        return result;    }

第四种方式:Action以Map的方式接收JSON数据。

页面代码示例:    function test(){            var jon ={name:"测试",pass:"1234",id:4};            $.ajax({                    type: "POST",                    url: "testFanTai1.do",                    contentType:"application/json",                    data: JSON.stringify(jon),                    success: function(msg) {                        var resmsg = eval_r("("+msg+")");                        alert(resmsg.name+"---"+resmsg.pass);                    }                })    }Action代码示例:@RequestMapping(value="/testFanTai1")    public @ResponseBody String testFanTai1(@RequestBody Map info) {        JSONObject json = JSONObject.fromObject(info);        String result =json.toString();        return result;    }


0 0
原创粉丝点击