今天在学习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"; }