2012-03-19 17 views
3

を示す方法:
2)成功:
3)エラー:
4)他のコールバックが存在する。ajaxがコントローラを呼び出します。私は、コントローラへのAJAX呼び出しを行う場合は、完全な)AJAX呼び出しが、その後</p> <p>1を呼び出すようにコントローラで発生する必要があるか....成功、完全な、とエラー

例:私はこのアヤックスコールを持っています。言い換えれば

$.ajax({ 
     url: "/ContactPartial/ContactUs", 
     type: "POST", 
     data: JSON.stringify(data), 
     dataType: 'json', 
     contentType: "application/json; charset=utf-8", 
     complete: function() { }, 
     success: function() { }, 
     error: function() { } 
    }); 

、私の中に何ができる/ ContactPartial /お問い合わせは、コントローラのコードを実行した後に呼び出される3(完全な、成功、エラー)のかを制御します。

また、どのように関連するreturn Json(new {some: data});

答えて

2

これらの三つのコールバックはAjax呼び出しの状況に関連していると、この関連です。これらはコールの成功に応じて呼び出されます。完全な詳細については、documentation

を参照してください。サーバーが成功(200)で応答すると、SuccessハンドラーとCompleteハンドラーの両方が呼び出されます。完全なハンドラでは、(成功またはエラーにかかわらず)モーダルウィンドウを閉じるコードをいくつか置くことができます。成功関数では、呼び出しが成功したことをユーザーに知らせるためのコードを入れたり、グリッドビューを再読み込みしたりできます。また、コールバック関数は匿名関数である必要はなく、いくつかのAjax呼び出しで共有される関数を定義することができます。

EDIT:特にStatusCodeプロパティ

ThisはSOのポストは、より多くの、あまりにも説明し、

HttpResponseクラス:あなたはエラーを発生させるために、サーバーを強制的に欠けている場合は

、見てみましょう(401エラーの発生)

+0

その説明をありがとうございます。しかし、どのコードがサーバーから返ってくるのかたとえば、プログラムで(コントローラで)強制的にエラーコードを返すことができますか?成功コード? – parliament

+0

サーバーに強制的にエラーを返すことができる場合のみ。それが動作する方法はリクエストを送信することであり、サーバーはリクエストの成功/失敗/エラーを示すステータスコードで応答します。 –

+0

申し訳ありませんが、私はまだサーバーにエラーを返すように強制する方法を理解していません。あなたはModelStoreにModelErrorを追加してモデルを返しますか? おそらくコード例は長い道のりになります。 – parliament

関連する問題