java - 如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目

标签 java ajax spring-boot spring-mvc

我正在尝试使用复选框和删除按钮删除表中的多个项目。我尝试在不同的论坛中搜索如何执行此操作,但可以看到解决方案。这是我最后的手段。

这是我的 Ajax 代码:

  $('#delete').on('click', function(e){
        // For selecting data in tables
           var selected = []; // for getting the checkbox value
           $('input[type="checkbox"]').each(function() {
               if ($(this).get(0).checked) {
                   selected.push($(this).attr('value'));
               }
           }); 
           var formData = new FormData();
                    formData.append("assetID", selected);
                    $.ajax({ 
                        url: "delete-asset", 
                        type: "POST", 
                        data: formData,
                        dataType: 'JSON',
                        enctype : 'multipart/form-data', 
                        processData : false,
                        contentType : false,
                        success : function(data) {
                             if (data.status == 1) {
                                openAlertDialog("Success", data.message, "Continue","manage-assets");
                            } else {
                                openAlertDialog("Error", data.message, "Continue", "manage-assets");
                            } 
                         },
                         error : function(data) {
                                openAlertDialog("Error", data.message, "Continue", "manage-assets");
                        },
            });
       });

这是我的 Controller

@RequestMapping(value = "/delete-asset", method = RequestMethod.POST)
    public @ResponseBody String deleteAsset(@ModelAttribute AssetCategory assetCategory) {

    JsonObject result = new JsonObject();
    assetService.deleteAssetByID(assetCategory.getAssetID());
    result.addProperty("result", "Success");
    result.addProperty("status", 1);
    result.addProperty("message", "Asset Deleted!");
    return "result.toString()";
}

现在我正在尝试先删除一项,然后再继续删除多项。我遇到了 405 错误,因此无法继续。

最佳答案

如果你只写 this.value 你应该得到选中项的值。

尝试使用此代码来获取所有项目。

var selectedItem = new Array();
$('input[name="Item"]:checked').each(function() {
selectedItem.push(this.value);
});

在将数组中存储的数据发送到 Controller 之前,只需尝试提醒数据以查看其是否正常工作,

我希望这会起作用

关于java - 如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59811299/

相关文章:

java - 模拟静态 Liferay 方法

java - 动态更改按钮的文本

javascript - 在选项中解析JSON响应值

java - XMLHttpRequest POST 之后下载 png 文件

javascript - Thymeleaf HREF 服务器上下文

spring-boot - .yaml 中的 Spring 配置文件。如何设置配置属性?

java - MediaRecorder 启动失败错误

java - 我可以使用 pack() 仅调整框架的高度吗?

javascript - 如何从 iframe 中的按钮获取响应代码

java - Spring Boot 中从 org.joda.time.Interval 迁移