2009-04-15 4 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()를 가져올 수 있으므로 응답으로 전송 된 실제 데이터를 반환해야합니다. .