2

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();
            }
        });

どんな助け/提案も大歓迎です。

前もって感謝します !

4

1 に答える 1

1

私がお手伝いできる限り、これを確認することです: ASP.NET MVC 4 - Ajax.BeginForm and html5

そして多分これ(ここで1つまたは2つのアイデアを得ることができます):MVC4 - Ajax.BeginFormと部分ビューは「未定義」を返します

于 2013-03-07T07:00:15.813 に答える