使用Ajax帖子向Controller操作提交表单

时间:2013-10-02 16:50:22

标签: c# jquery asp.net-mvc-4 razor

我正在尝试使用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);
            }
        });
    });

});

我错过了什么?

2 个答案:

答案 0 :(得分:0)

你可能会尝试更改你的ajax调用以使用成功而不是完成。

success: function(result){
    if(result.Success){
        window.location...
    }else{
        window.location...
    }
}

答案 1 :(得分:0)

这完全是我之前已经注释掉.href网址的错误,因为问题在于我忘了在它们周围加上引号:window.location.href("@errorUrl");是什么会修复它,即使当我错过引号时,控制台没有抛出错误。