javascript - 将确认消息的结果传递给 spring mvc 控制器
问题描述
我在 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 ..
...
}
}
我可以检查任何来源吗?
解决方案
如果您调用由${deleteUrl}
控制器处理的 URL,则无论确认弹出窗口如何,都会发生删除。
在 JavaScript 中,您必须使用函数绑定表中的文本/链接/按钮,该函数执行以下操作:
- 打开一个弹出窗口,然后...
- 确认后使用 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
}
});
}
}
推荐阅读
- php - Laravel 日期格式和控制台
- python - 尽管已安装,但没有名为 import_export 的模块
- php - Laravel 策略自动检测
- html - 需要帮助将一些内容居中
- ibm-cloud - quotacheck:您的内核可能支持日志配额,但您没有使用它
- javascript - 循环内的 Firebase 实时数据库侦听器无法正常工作
- java - 为什么localhost中的script.js与根目录中的script.js不同
- python-3.x - 使用 multiprocessing.pool 加载 keras 模型导致预测“ValueError Tensor Tensor”
- html - 在手机和其他小屏幕尺寸中查看时,我网站的背景图片不成比例
- android - 为什么我的 isLocationEnabled 需要 EasyPermissions 中的 SuppressLint(MissingPermission)?