Spring MVC前后台传递JSON

1. 传递JSON参数

                   vardata = {'id':1,'name':'abc'};

                   $.ajax({

                            type:'post',

                            url:'homePageAction.do?testAJax',

                   contentType:'application/x-www-form-urlencoded',

                            data:JSON.stringify(data),

                            success:function(data){

                                     console.log("aaaaaaaaaaa")

                                     console.log(data.msg);

                            },

                            error:function(){

                            }

                   });

//       @RequestMapping(params= "testAJax")

//       public voidtestAjax(@RequestParam String id,String name,HttpServletRequest req){

//                Stringid2 = req.getParameter("id");

//                Stringname2 = req.getParameter("name");

//                System.out.println("1111");

//                System.out.println("2222");

//       }

2. 传递JSON对象或JSON数组(后台接收使用EventInfo[],而不是List<EventInfo> list)

                   vardata = [{'id':1,'name':'abc'},{'id':2,'name':'def'},{'id':3,'name':'ghi'}];

                   console.log(JSON.stringify(data));

                   $.ajax({

                            type:'post',

                            url:'homePageAction.do?testAJax',

                            contentType:'application/json',

                            data:JSON.stringify(data),

                            success:function(data){

                                     console.log(data.msg);

                                     console.log(data.obj.id);

                                     console.log(data.obj.name);

                            },

                            error:function(){

                            }

                   });

//       @RequestMapping(params= "testAJax")

//       @ResponseBody

//       publicJSONObject testAjax(@RequestBody EventInfo[] ei,HttpServletRequest req){

//                Longid1 = ei[0].getId();

//                Stringname1 = ei[0].getName();

//                JSONObjectjo = new JSONObject();

//                jo.put("msg","return success");

//                jo.put("obj",ei[0]);

//                return jo;

//       }

3. 传递JSON数组,后台用List接收

                  前端Ajax传参数:

                  [ "0866282192144020" ]

                  后端Spring方法接收参数:

                  @RequestParam("carnums[]") List<String> carnums

4. 后台返回前台JSON,需要在返回方法上加上@ResponseBoby,代表将JSON数据放到Http Boby中返回

返回值标识了@ResponseBody,SpringMVC将使用StringHttpMessageConverter的write()方法,将结果作为String值写入响应报文,当然,此时canWrite()方法返回true。

关于HttpMessageConverter和@RequestBody、@ResponseBody的关系请看我另一篇文章。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值