jquery表单提交成功和失败回调

时间:2013-03-06 19:40:15

标签: asp.net-mvc jquery razor

我正在构建一个ASP.Net Mvc 4应用程序。我看到我可以使用@ Ajax.BeginForm异步执行POST请求。 API似乎也有一个OnSuccess和On Failure参数,它接受javascript函数在成功/失败时执行。我已经读过这适用于MS Ajax,但这对jquery也适用吗?我似乎无法单独使用jquery

@using (Ajax.BeginForm("Create", "Comment", null, new AjaxOptions
                                                       {
                                                           InsertionMode = InsertionMode.Replace,
                                                           HttpMethod = "Post",
                                                           OnSuccess = "people.successfulSave",
                                                           OnFailure = "people.saveFailure"
                                                       },

如果没有,我想通过表单提交jquery来做。目前我在做

$('#commentSubmitInput').click(function() {
        $("#commentForm").submit();
    }

提交表格。但是在我的控制器中,我正在做一些模型验证,如果模型无效,则返回带有模型错误的Html,否则返回带有更新的html的局部视图。现在我读到我可以使用以下语法将ajax调用绑定到函数

$("#commentForm").bind('ajax:complete', function () {
        alert('bla');
    });

但是,有没有办法我可以成功和失败回调表单提交?有点像Jquery ajax调用语法

$.ajax({
            url: $(this).attr('ajaxUrl'),
            type: 'POST',
            success: function (data) {                   
                $("#comment_" + data.Id).remove();
            },
            error: function (data) {
                window.location.reload();
            }
        });

感谢任何帮助/建议。

提前致谢!

1 个答案:

答案 0 :(得分:1)

据我所知,您可以查看:ASP.NET MVC 4 - Ajax.BeginForm and html5

也许这个(你可以在这里得到一个或两个想法):MVC4 - Ajax.BeginForm and Partial view gives 'undefined'