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();
}
});
どんな助け/提案も大歓迎です。
前もって感謝します !