阻止超链接跳转return false 和 preventDefault的区别

今天在学习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 和 preventDefault的区别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";
    }
上一篇:集合框架-泛型-泛型方法


下一篇:3、Mybatis源码剖析