今天在学习SpringMVC时遇到问题需要将一个超链接的get请求转换成delete请求,需要绑定点击事件通过表单去发送,并阻止超链接的默认行为,遇到的问题。
preventDefault只停止页面跳转,但是请求依然会执行
$(function () {
$(".delete").click(function () {
//绑定表单
var method = $("#delete_form");
var action = $(this).attr("href");
alert(action);
//设置表单提交地址
method.attr("action",action);
//提交表单
method.submit();
//阻止超链接跳转
$(this).preventDefault();
//return false;
});
});
return false会停止超链接的页面跳转和请求信息
$(function () {
$(".delete").click(function () {
//绑定表单
var method = $("#delete_form");
var action = $(this).attr("href");
alert(action);
//设置表单提交地址
method.attr("action",action);
//提交表单
method.submit();
//阻止超链接跳转
//$(this).preventDefault();
return false;
});
});
服务端代码:接收请求的方式不同。
@RequestMapping(value = "/delete/{id}",method = RequestMethod.DELETE)
public String delete(@PathVariable(value = "id") Integer id){
System.out.println("收到delete请求**********************");
employeeDao.delete(id);
return "redirect:/employee";
}
@RequestMapping(value = "/delete/{id}",method = RequestMethod.GET)
public String delete1(@PathVariable(value = "id") Integer id){
System.out.println("收到get请求**********************");
employeeDao.delete(id);
return "redirect:/employee";
}