Как удалить несколько элементов, используя Ajax in Java Spring Boot MVC - PullRequest
0 голосов
/ 19 января 2020

Я пытаюсь удалить несколько элементов в моей таблице, используя флажок и кнопку удаления. Я пробовал искать, как это сделать на разных форумах, но вижу решение. Это мое последнее средство.

Это мой 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, и я не могу продолжить работу из-за этой проблемы.

1 Ответ

2 голосов
/ 20 января 2020

Если вы просто напишите this.value, вы должны получить значение отмеченного элемента.

попробуйте этот код для извлечения всех элементов.

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

Перед отправкой данных, хранящихся в массиве на контроллер, просто попробуйте предупредить данные, чтобы увидеть, работает ли он или нет,

Я надеюсь, что это будет работать

...