用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去掉 |