Jquery ajax post 回调函数不执行?

代码:

 $(document).ready(function(){
            $(".del-a").click(function(){
                if(confirm("确定删除该分类?")){
                    var id = $(this).siblings("input").attr("value");
                    $.post("delete_type",
                            {
                                "Type_ID":id,
                                "UserID":$("#userid").val()
                            },
                            function(result){
                                alert(result.delete_type);
                    });
                  }
            });
        });
    回调函数不执行,后台没有报错,对数据库的操作也是正常的。即使刷新前台页面也没有执行
    改了一下代码:
        $(document).ready(function(){
            $(".del-a").click(function(){

                if(confirm("确定删除该分类?")){
                    var id = $(this).siblings("input").attr("value");
                    $.post("delete_type",
                            {
                                "Type_ID":id,
                                "UserID":$("#userid").val()
                            },
                            function(result){
                                alert(result.delete_type);
                    });
                  }

                if(confirm("删除成功!")){
                }
            });
        });
    加了一段if(confirm("删除成功!")){}代码后,回调函数执行了,并且正确传回了后台数据。请各位大神帮忙分析分析,不胜感激!!

3个回答

.del-a是什么?sumit还是什么东西,是不是刷新了页面了?

if(confirm("删除成功!")){
}

    改为return false阻止连接跳转或者表单提交试试
xyc_csdn
萧逸才 回复xyc_csdn: a标签也是一样的道理,必须return false来阻止跳转
接近 4 年之前 回复
xyc_csdn
萧逸才 回复没有海洋的岛屿: 或者把del-a这个按钮的类型改为button,不要使用submit,否则会触发表单提交事件,return false的作用就是阻止表单的提交,如果你需要验证表单的话,可以使用这个,如果不满足提交,可以return false阻止表单提交
接近 4 年之前 回复
qq_23924237
没有海洋的岛屿 回复无聊码农: 懂了,十分感谢你的帮助!
接近 4 年之前 回复
showbo
支付宝加好友偷能量挖 回复没有海洋的岛屿: 不是说了,你的.del-a是什么?如果是连接有href会执行跳转导致页面刷新不执行ajax代码,放在表单中的submit也会提交表单刷新页面。return false就是阻止跳转
接近 4 年之前 回复
qq_23924237
没有海洋的岛屿 换成你说的回调函数居然正常了,但是不懂为什么,请教一下原因。
接近 4 年之前 回复
qq_23924237
没有海洋的岛屿 $(document).ready(function(){ $(".del-a").click(function(){ if(confirm("确定删除该分类?")){ var id = $(this).siblings("input").attr("value"); $.post("delete_type", { "Type_ID":id, "UserID":$("#userid").val() }, function(result){ window.location.reload(); }); } return false; }); });
接近 4 年之前 回复
qq_23924237
没有海洋的岛屿 .del-a是a标签
接近 4 年之前 回复
 感觉不是代码的问题,而是页面编译的问题,新建一个页面,然后写个类似的方法试试
qq_23924237
没有海洋的岛屿 我在同一个页面,也用了post传参数,回调函数却可以运行
接近 4 年之前 回复

post方法提交需要在回调函数后加,"json"

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问