看了好多的博客,然后试了好多方法。终于解决了传递数组的的方法。
直接在前端传数组的话,后台拿不到。必须要加上traditional:true,默认的ajax请求traditional是false。所以不行。下面是一个实例:
var jcbhList = new Array();
$.ajax({
url: getBaseUrl() + 'dcxs/isExist.do',
type : 'POST',
dataType : 'json',
data:{"jcbhList":jcbhList},
async:false,
traditional:true,
success:function(data){
if(data){
jcbhExistList = data.data;
}
else
return null;
},
error:function(msg){
return null;
}
});
在后台接收则是:
@ResponseBody
@RequestMapping(value = "/isJCBHExist", method = RequestMethod.POST, produces = "application/json;charset=utf-8")
public ResponseJson isExist(HttpServletRequest request) throws Exception {
ResponseJson resp = new ResponseJson();
String[] jcbhs= request.getParameterValues("jcbhList");//通过这个方法获取前台的数组参数
List<String> jcbhList = new ArrayList<>();
for(String jcbh : jcbhs){
jcbhList.add(jcbh);
}
List<String> list = dcxsService.isJCBHExist(jcbhList, "yjjbntsyjgzw");
/*if (ret != 1) {
}*/
resp.setData(list);
return resp;
}
参考博客:
https://blog.csdn.net/yeluosc/article/details/12504331