我正在尝试使用Ajax运行一些后台验证,但表单仍然会发布到控制器。
表格
<form id="myForm" method="post">
<input type="hidden" name="username" />
<input type="hidden" name="password" />
<input type="submit" value="Submit" />
</form>
脚本
$(document).ready(function () {
$("#myForm").submit(function (event) {
event.preventDefault();
showLoadingWindow(); // Unhides some "Logging in..." div
$.ajax({
url: "@actionUrl",
type: "POST",
data: $(this).serialize(),
cache: false,
done: function () {
window.location.href(@successUrl);
},
fail: function () {
window.location.href(@errorUrl);
}
});
});
});
我错过了什么?
答案 0 :(得分:0)
你可能会尝试更改你的ajax调用以使用成功而不是完成。
success: function(result){
if(result.Success){
window.location...
}else{
window.location...
}
}
答案 1 :(得分:0)
这完全是我之前已经注释掉.href
网址的错误,因为问题在于我忘了在它们周围加上引号:window.location.href("@errorUrl");
是什么会修复它,即使当我错过引号时,控制台没有抛出错误。