弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 3074|回复: 0

【Ajax】关于ajax在success状态下location.href无法跳转的原因

[复制链接]
发表于 2018-2-7 21:27:39 | 显示全部楼层 |阅读模式
用Ajax做了一个提交成功跳转的功能,ajax验证通过了,但是却没有跳转。
$.ajax({
    url: "/API/HD_Comments.ashx",
    type: "POST",
    data: { "articleid": articleid, "act": "add", "uid": uid, "content": $("#input").val() },
    success: function (data) {
        switch (data) {
            case "ok":
                //alert("留言成功");
                break;
            case "exist":
                alert("每天只能留言一次!");
                break;
            default:
                alert("留言失败!");
                break;
        }
        location.href = "ZXDetails.aspx?ReferralUserId=" + uid + "&articleid=" + articleid;
    }
});
原理:
ajax本身可实现post和get提交,如果这时又是在form->submit功能提交的前提下,会先执行ajax,然后再执行submit提交,等于点击一次提交两次,故跳过location.href。

解决办法:
方法一:使用alert,如上文中的“alert("留言成功");”,让location.href得到执行。
方法二:不使用form->submit来提交,比如将type=submit去掉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-11-24 02:53 , Processed in 0.063811 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表