问题描述: 在上图复选框checkbox中选中多个要删除的专业名称,当点击删除按钮时把选中的专业删除。 要求使用 ajax 实现异步地删除,减少刷新网页的次数。
asp.net mvc里前端与后台进行复杂数据交互是一件比较麻烦的事情,简单的数据交互可以使用request对象获取同名参数的方式获取, 复杂数据一般难以使用request对象获取,比如表单里提交的各种不同类型的数据, 如果表单里的各种数据可以抽象成一个类,那么就可以通过创建一个model,然后在action里使用模型对象进行绑定。
public ActionResult JsonClasses(ClassesModels classes)但在此例中要删除的专业显然不能抽象成一个类,只是一个长度不确定的数组。 要使用ajax往控制器里传递这些需要删除的专业,只能以数组的形式传递, 但需要将数组序列化后传递才能被控制器端接收,下面本人通过Jqery的join()方法转化为可被解析的数据格式
$('#delmajor').click(function () { var datas =[]; var i = 0; $('input[name="delmajor"]:checked').each(function () { var temp = $(this).parent().parent(); datas[i++] = $(this).val(); temp.remove(); }); if (datas != null) { var choose = confirm("您确定要删除这专业?"); var test = datas.join(','); alert(test); if (choose==true) { $.ajax({ url: "/SystemAdmin/DelMajor", type: "POST", dataType: "json", data: { "test": test }, success: function (data) { alert(data.message); }, error: function () { alert("删除失败!"); } }); } else { return false; } } });