javascript - 将确认消息的结果传递给 spring mvc Controller

标签 javascript java spring jsp jstl

我在 spring mvc 中有一个项目作业,并且有一个从表中删除元素的函数,我想实现该操作的确认。

我没有 js 经验,我在 w3schools 中看到了这段代码,但未能实现它,因此它可以为我工作。

JSP:
<td><a href="${deleteUrl}" onclick="deleteConfirm()">Delete</a></td>
<script>
    function deleteConfirm(){
        var confirmation = confirm("Do you really want to delete this item 
    from the list?");
        if(confirmation===false){
            var message = "false";
            return message;
        }
    }
 </script>


Controller : 
@GetMapping(Mappings.ITEMS)
public String booksList(Model model,HttpServletRequest request){
 String message = request.getAttribute("message").toString();
    if(message.equals("false")){
        return "redirect:/home";
    } else {
        delete elemtn ..
        ...
    }
  }

我可以检查有关此事的任何来源吗?

最佳答案

如果您调用由 Controller 处理的 URL ${deleteUrl},则无论弹出确认窗口如何,删除都会发生。

在 JavaScript 中,您必须使用函数绑定(bind)表格中的文本/链接/按钮,该函数执行以下操作:

  1. 打开弹出窗口,然后然后...
  2. 确认后使用 AJAX 调用 URL。

为了简洁起见,让我们使用 jQuery我发现它是一个非常强大的库。我可以构建的最简单的代码如下:

function confirmDelete(url) {
    var result = confirm("Do you want to delete an entry?");      
    if (result) {
        $.ajax({
            type : "DELETE",
            contentType : "application/json",
            url : url,
            timeout : 10000,
            success : function(data) {
                // update the table
            },
            error : function(e) {
                // handle the error
            }
        });
    }
}

关于javascript - 将确认消息的结果传递给 spring mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53932799/

相关文章:

java - 如何将多个注释合并为一个注释?

javascript - 将 Promise 中的解析函数分配给变量

java - 如何在 main() 方法之外初始化 FileWriter

javascript - Json不接收来自PHP的数据

java - 如何根据保存在数据库android中的日期和时间设置闹钟

java - 为什么这个初始化和配置的 Dispatcher Servlet 不处理任何请求?

java - 使用 Redis 限制 Spring Boot 中的 session

java - Spring将JSP中的数据绑定(bind)到Controller

javascript - 如何设置背景大小(高度和宽度)?

php - 动态更新页面上的文本以响应另一个窗口中另一个页面上的事件