做网页经常要选择批量删除数据,基本都是异步请求批量删除,用到更多的是ajax批量删除。思路是前端ajax请求,传入ids(要删除对象id的字符串数组)到后台。
后台再遍历id,调用删除接口,删除数据。返回json给前台。
代码例子如下:
1 ?function deleteSaleChance() { 2 ?????var selectedRows = $("#dg").datagrid("getSelections"); 3 ?????if(selectedRows.length==0){ 4 ?????????$.messager.alert("系统提示","请选择要删除的数据!"); 5 ?????????return; 6 ?????} 7 ?????var strIds=[]; 8 ?????for(var i=0;i<selectedRows.length;i++){ 9 ?????????strIds.push(selectedRows[i].id);10 ?????}11 ?????var ids= strIds.join(",");12 ?????$.messager.confirm("系统提示","您确定要删除这<font color=red>"+selectedRows.length+"</font>条数据吗?",function(r){13 ?????????if(r){14 ?????????????$.post("${pageContext.request.contextPath}/saleChance/delete.do",{ids:ids},function(result){15 ?????????????????if(result.success){16 ?????????????????????$.messager.alert("系统提示","数据已成功删除!");17 ?????????????????????$("#dg").datagrid("reload");18 ?????????????????}else{19 ?????????????????????$.messager.alert("系统提示","数据删除失败,请联系系统管理员!");20 ?????????????????}21 ?????????????},"json")22 ?????????}23 ?????});24 }
1 ????@RequestMapping("/delete") 2 ????public String delete(@RequestParam(value="ids")String ids,HttpServletResponse response) throws Exception{ 3 ????????String[] idsStr = ids.split(","); 4 ????????for(int i=0;i<idsStr.length;i++){ 5 ????????????saleChanceService.delete(Integer.parseInt(idsStr[i])); 6 ????????} 7 ????????JSONObject result = new JSONObject(); 8 ????????result.put("success", true); 9 ????????ResponseUtil.write(response, result);10 ????????return null;11 ????}
ajax批量删除数据
原文地址:http://www.cnblogs.com/jedjia/p/ajax_delete.html