前端代码如下,传递一个数组,后台用List<String>或者String[]接收:

var ids = [];
ids.push("xxx");
ids.push("yyy");
$.post(url,{ids},function(data) {
    //do something
},'json');

后台代码如下:

@ResponseBody
@RequestMapping("/submit")
public ResponseMsg<Data> test(@RequestParam(value="ids[]") String[] ids){
    //do something
    return ResponseMsg.ok();
}
或者
@ResponseBody
@RequestMapping("/submit")
public ResponseMsg<Data> test(@RequestParam(value="ids[]") List<String> ids){
    //do something
    return ResponseMsg.ok();
}

这里有两点需要注意:

  1. 使用注解@RequestParam

  2. 注解的参数值中,要加上[ ]

需要注意的是:如果ids只有一个值,并且这个值中有逗号,例如:

ids.push("uuid1,uuid2")

这样的数据,后台接收的时候,list中会有两个元素,分别是"uuid1"和"uuid2"

如果部署ids有多个值,例如:

ids.push("uuid1,uuid2")

ids.push("usid1,usid2")

这样的数据,后台接收的时候,不会被拆分开,也就是说数组/集合中会有两个元素,分别是“uuid1,uuid2”和“usid1,usid2”;

所以,如果是自己拼接的数据,那么尽量不要用逗号;如果要传的数据本身如此,那么可以先将逗号替换为其他字符,然后再后台接收的时候,再换回来。