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

2022/1/19 23:25:10

本文主要是介绍阻止超链接跳转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";
    }


这篇关于阻止超链接跳转return false 和 preventDefault的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程