2011-09-17 3 views
4

が、私はの線に沿って、標準Ajaxのエラーハンドラを持って、レスポンスで呼び出さhandleAjaxErrorに送信されたパラメータが何らかの理由でAjaxコンテキストではなくResponseオブジェクト自体であることがわかりました。Ajax.BeginForm ONFAILUREは私のASP.NET MVC3アプリでAjaxのデータ入力フォームを作成する場合ではないAjaxContext

これはMVC3の既知の動作の変更ですか、多分ですか?それが関連するかどうここではフォームの設定は、です:

@using (Ajax.BeginForm("Create", "Attendance", null, new AjaxOptions 
    { OnFailure = "handleAjaxError", 
     OnSuccess = "alert('success')" }, 
new { id = "frmCreateException" })) 
{ 
    @Html.EditorFor(m => Model) 
} 

コントローラのアクションをするPartialViewResultを返します。私はまだビューを作成していないので、HTTP例外は500です。

ありがとうございます!

答えて

11

これはMVC3の既知の動作の変更ですか、多分ですか?

はい、ASP.NET MVC 3は、Microsoft*.jsを使用していた以前のバージョンとは対照的に、AJAX用の控えめなjQueryを使用します。したがって、エラーハンドラに渡される最初の引数はjqXHRオブジェクトです。

そして応答テキストとステータスコードを取得する:

alert(ajaxContext.status); 
alert(ajaxContext.responseText); 
+0

おかげで、どこにでもいることを見つけることができませんでした。 –

関連する問題