1、前端代码如下:
<!--点击删除按钮后要获取的参数,并发送ajax请求出去-->
$("#delete_goods").click(function () {
var params = [];
var select_good_list = $("div[aria-checked='true']");
//这里是给params 数组赋值
for (var i = 0; i < select_good_list.length; i++) {
params[i] = $(select_good_list[i]).parents("td").next().html();
}
//发送ajax请求
$.ajax({
url: "${pageContext.request.contextPath}/goods/deleteGoods.do",
contentType : "application/json;charset=UTF-8",
//这里把你的params数组格式化成json数据
data : JSON.stringify(params),
type : "post",
dataType: "text",
success:function (data) {
//写入你的代码
}
})
})
2、在后端进行接收;这里只要你在变量前面String[] goods_id写入@RequestBody注解(看清楚,与@ResponseBody注解分清楚,前者是用来封装前端传递过来的参数,后者是返回参数封装成json)即可,这样子前端传递过来的参数就会被封装到你的String数组中(即我的String[] goods_id中),这样子你就可以通过数组获取到每个参数了,而不用去解析了
@RequestMapping(path = "/deleteGoods.do")
public @ResponseBody String deleteGoods(@RequestBody String[] goods_id) throws Exception {
List<Long> id_list = new ArrayList<>();
for (String s : goods_id) {
id_list.add(Long.parseLong(s));
}
return goodsService.deleteByGoods_id(id_list).toString();
}