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

Posted

技术标签:

【中文标题】如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目【英文标题】:How to delete multiple items using Ajax in Java Spring Boot MVC 【发布时间】:2020-05-05 18:07:13 【问题描述】:

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

这是我的 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");
                        ,
            );
       );

这是我的控制器

@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 错误,由于这个问题无法继续。

【问题讨论】:

必须尝试缩小原因?您可以使用 Postman 或 Curl 仅尝试您的控制器吗? 我不知道如何使用邮递员或卷曲。我会阅读教程并尝试。谢谢 【参考方案1】:

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

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

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

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

我希望这会奏效

【讨论】:

这行得通。我更改了我的控制器以接受 Array 值。谢谢!

以上是关于如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在传统的 tomcat webapps 文件夹中部署 Spring Boot MVC 应用程序?

我们可以在一个项目中同时使用 Java Spring mvc 和 Spring Boot 吗?

spring boot mvc dao java.lang.NullPointerException: null

如何将 Spring Boot 项目迁移到旧 Spring MVC 项目。面临的问题,如何在遗留 Spring MVC 项目中读取 application.properties 文件

Java快速开发平台,基于(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE),在线代码生成,包括组织、角色用户

我如何在 Spring Boot/MVC 中创建错误处理程序(404、500...)