废话不多说,干货两步走:
第一步:后端
先说后端代码的示例:
@ApiOperation(value = "测试", notes = "测试")
@PostMapping(value = "/testSet")
public Page delete(@RequestBody Set<String> items){
List<Map> data = new ArrayList<>();
if(!"".equals(items)&&null!=items) {
for(String item : items){
System.out.println(item);
}
}
return new Page(data);
}
第二步:前端
再说前端传值,type(必须写)一定要与后端resful接口访问方式相统一,contentType(必须写)是传到后台的数据类型,这个必须写成如下方式,dataType(可写可不写)是后台预返回值类型按照自己需求写。
$.ajax({
url : url,
async:false,
type : "post",
contentType : "application/json",
dataType : "json",
data : jsonStr,
success : function(data){
......
},
error : function(data, textstatus){
......
}
});
这个data传的方式可以是直接自己整个array数组或者也可以写成["1","2","3"],都可以如愿所偿,示例如下所示:
方式一、一个个塞值
var data = new Array();
data.push(goalParameter)
方式二、一站式声明
var data = ["1","2","3"]
(这一步非常重要)最后一步,一定要做这个处理,要不然是传不到后台去的,是将你的list数组做一下json格式的转型,才能传到后台去(要不然报400错误):
var jsonStr = JSON.stringify(data);