参数传递数组 接收 前端使用jquery向后台传递数组类型的参数,java后台直接通过list类型接收,会发现无法取到参数的情况。

如:
  1. $.ajax{  
  2.       url:"xxxx",  
  3.       data:{  
  4.             p: ["123""456""789"]  
  5.       }  

  1. }  
后台:
  1. @RequestMapping("/getEventData")  
  2. public Map<String, Object> getEventData(List<String> areaList) {  
  3.     // TODO  
  4. }


  5. 这么写的话,在java后台是无法取到参数的,因为jQuery需要调用jQuery.param序列化参数。

  6. 方法一:创建一个对象,将list类型的参数封装在对象中。
        先定义一个ParamVo对象,里面声明一个areaList属性。然后将后台代码改成下面的样子就可以接收到前端的参数了。

    [java]  view plain  copy
    1. public class ParamVo {  
    2.   
    3.     /**行政区域*/  
    4.     private List<String> areaList;  
    5.   
    6.     public List<String> getAreaList() {  
    7.         return areaList;  
    8.     }  
    9.   
    10.     public void setAreaList(List<String> areaList) {  
    11.         this.areaList = areaList;  
    12.     }  
    13.   
    14. }  

    [java]  view plain  copy
    1. @RequestMapping("/getEventData")  
    2. public Map<String, Object> getEventData(ParamVo param) {  
    3.     // TODO  
    4. }  


    方法二 :ajax中添加traditional:true。

    [javascript]  view plain  copy
    1. $.ajax{  
    2.       url:"xxxx",  
    3.       traditional: true,  
    4.       data:{  
    5.             p: ["123""456""789"]  
    6.       }  
    7. }  
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值