前端代码如下,传递一个数组,后台用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(); }
这里有两点需要注意:
使用注解@RequestParam
注解的参数值中,要加上[ ]
需要注意的是:如果ids只有一个值,并且这个值中有逗号,例如:
ids.push("uuid1,uuid2")
这样的数据,后台接收的时候,list中会有两个元素,分别是"uuid1"和"uuid2"
如果部署ids有多个值,例如:
ids.push("uuid1,uuid2")
ids.push("usid1,usid2")
这样的数据,后台接收的时候,不会被拆分开,也就是说数组/集合中会有两个元素,分别是“uuid1,uuid2”和“usid1,usid2”;
所以,如果是自己拼接的数据,那么尽量不要用逗号;如果要传的数据本身如此,那么可以先将逗号替换为其他字符,然后再后台接收的时候,再换回来。