其他分享
首页 > 其他分享> > 阻止超链接跳转return false 和 preventDefault的区别

阻止超链接跳转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会停止超链接的页面跳转和请求信息

$(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";
    }

标签:false,preventDefault,id,跳转,action,return,表单,method,delete
来源: https://blog.csdn.net/qq_44993268/article/details/122591586