2009-04-15 14 views
0

ContentResultを返すコントローラークラスのポストメソッドにフックされたAjax.Actionリンクがあります。私は要請をして、ファイヤーバグのようなツールを見ても応答を得ることができますが、実際にアクセスするか、応答テキストで何かをしようとして問題があります。私の見解でAJAXリクエストの内容を表示する

public ContentResult RevertToDefault(int id, string default) 
{ 
    /** Update the DB **/ 

    return Content(default); 
} 

そして、この:

<%= Ajax.ActionLink(
    "Revert", 
    "RevertToDefault", 
    new { id = Model.MyObject.ID, default = Model.MyObject.DefaultValue }, 
    new AjaxOptions { OnComplete = "function(r) { alert(r); }" })%> 

は今、アラートがちょうど[object Object]を返し

は基本的に、私は私のコントローラでこのような何かを持っています。変更はデータベースで行われ、rオブジェクトのどこかにあるContentResultにアクセスしていると推測していますが、私はオンラインで良い例を見つけるのは難しいです。

アイデア?

答えて

1

はい、前の回答は絶対に正しいです。ちょうどこれを行う:

<%= Ajax.ActionLink(
    "Revert", 
    "RevertToDefault", 
    new { id = Model.MyObject.ID, default = Model.MyObject.DefaultValue }, 
    new AjaxOptions { OnComplete = "function(r) { alert(r.get_data()); }" })%> 
1

OnCompleteイベントハンドラの引数がajaxContextなので、ajaxContext.get_response()を試して、応答オブジェクトまたはajaxContext.get_data()を取得すると、応答として送信された実際のデータが返されるはずです。

関連する問題