前端传参方案

首先,将要删除的关键字封装到一个数组当中,然后在发送Ajax请求时,又将数组赋给一个对象中的某个属性,然后传递该对象到后端。

let deletes = [];
let checkStatus = table.checkStatus("users");
console.log(checkStatus.data);
$.each(checkStatus.data, function (i, data) {
    deletes.push(data.svnUser);
});
console.log(deletes);
if (deletes.length <= 0) {
    layer.msg("请选择要删除的SVN用户", {icon: 2});
    return false;
}
layer.confirm("确定要删除选中的SVN用户?",
    {icon: 3, shade: [0.03, "#000"]},
    function (index) {
        let loading = layer.msg("删除中...", {icon: 16, time: 0, shade: 0.2});
        $.ajax({
            type: "DELETE",
            url: ctx + "svnuser/delete",
            data: {deletes: deletes},
            success: function (res) {
                layer.close(loading);
                if (res.code === 200) {
                    layer.msg(res.msg, {icon: 1, time: 2000}, function () {
                        table.reload("users", {
                            page: {
                                // 重新从当前页开始
                                curr: $(".layui-laypage-em").next().html()
                            }
                        })
                        location.reload();
                    })
                }
            },
            error: function () {
                layer.close(loading);
                layer.msg("发送删除SVN用户请求失败,请联系管理员", {icon: 0, time: 2000});
            }
        });
        layer.close(index);
    }
)
后端接收参数方案

使用@RequestParam注解来接受,且使用List

@DeleteMapping("/delete")
@ResponseBody
public R delete(@RequestParam("deletes[]") ArrayList<String> deletes) {
    logger.info("deletes => {}", deletes);
    logger.info("deletesCount => {}", deletes.size());
    return svnUserService.delete(deletes);
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐