2009-04-15 104 views
0

我有一個Ajax.Action鏈接掛接到我的控制器類中的post方法,該方法返回ContentResult。我可以提出請求,並在使用螢火蟲等工具時查看響應,但我在嘗試實際訪問或對響應文本進行任何操作時遇到問題。顯示內容來自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(),它應該返回作爲響應發送的實際數據。