【问题标题】:How to delete multiple items using Ajax in Java Spring Boot MVC如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目
【发布时间】: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 仅尝试您的控制器吗?
  • 我不知道如何使用邮递员或卷曲。我会阅读教程并尝试。谢谢

标签: java ajax spring-boot spring-mvc


【解决方案1】:

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

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

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

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

我希望这会奏效

【讨论】:

  • 这行得通。我更改了我的控制器以接受 Array 值。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 2019-11-15
  • 2020-06-04
  • 2016-09-13
  • 2023-03-26
  • 2011-04-12
相关资源
最近更新 更多