我的Ajax.Action
链接连接到我的控制器类中的post方法,该方法返回ContentResult
。在查看像firebug这样的工具时,我能够提出请求并获得响应,但是我在尝试实际访问或对响应文本做任何事情时遇到了问题。
基本上,我的控制器中有这样的东西:
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]
。更改是在数据库中进行的,我猜我可以访问ContentResult
对象中的r
,但我很难在线找到好的示例/文档。< / p>
有什么想法吗?
答案 0 :(得分:1)
据我所知,OnComplete事件处理程序的参数是ajaxContext,因此您可以尝试ajaxContext.get_response()并获取响应对象或ajaxContext.get_data(),它应返回作为响应发送的实际数据。
答案 1 :(得分:1)
是的,之前的答案绝对正确。就这样做:
<%= Ajax.ActionLink(
"Revert",
"RevertToDefault",
new { id = Model.MyObject.ID, default = Model.MyObject.DefaultValue },
new AjaxOptions { OnComplete = "function(r) { alert(r.get_data()); }" })%>