2013-10-14 2 views
0

mvc 버튼 클릭 이벤트에서 컨트롤러 작업 메서드를 호출하기 위해 ajax를 사용하고 있습니다. 제어기 동작 방법은 실패한 사용자에게 오류를 통보해야하는 검증 로직을 가지고있다. 나는 MVC에서 이것을 어떻게 달성 할 수있을 지 확신하지 못한다. 컨트롤러에서 ajax success 이벤트에 오류 메시지를 보낼 수있는 방법이 있습니까?ajax 호출에서 mvc보기에 오류 메시지를 전달하는 방법

Controller Action Method 
    [AcceptVerbs(HttpVerbs.Post)] 
    public ViewResult Index(ProfileSnapshotRequestModel pspm) 
    { 

     // Do something 
     return Json(new { success = true }); 
    } 

MVC보기 버튼 난에 원하는 데이터를 반환 내가 조치 결과 같은 컨트롤러 액션 반환 형식을 변경하여 해결 할 수 있었다

$("#copyData").click(function() { 

      var selectedRowId = $('#ServersWS').jqGrid('getGridParam', 'selrow'); 
      var rowData = jQuery("#ServersWS").jqGrid('getRowData', selectedRowId); 
      $("#MainDiv").prop('disabled', true); 
      var url = '@Url.Action("Index")'; 
      HideElements(); 
      $.ajax({ 
       url: url, 
       data: { 
          BaseEnvtId: $("#SelectedEnvironmentID").val(), 
          BaseVersionId: $("#SelectedVersionID").val(), 
          BaseProfileId: rowData['ProfileId'], 
          NewEnvtId: $("#SelectedEnvironmentID2").val(), 
          NewVersionId: $("#SelectedVersionID2").val(), 
          NewProfileId: $("#SelectedProfileID2").val(), 
       }, 
       type: 'POST', 
       datatype: 'json', 
       success: function(data) { 
        document.getElementById('displaySuccess').style.display = 'block'; 
        $("#ProfileCopyDiv").prop('disabled', true); 
        $("#MainDiv").prop('disabled', false); 
       }, 
       error: function() { alert('something bad happened'); } 
      }); 
     }); 
+0

컨트롤러 동작 반환 형식을 동작 결과로 변경하여 해결할 수 있으며 다음과 같은 작업을 수행 할 수 있습니다. 반환 값 Json (new {success = true}); – user845405

답변

0

클릭 한 다음 JSON 객체를 사용 - 들어 예 :

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Index(ProfileSnapshotRequestModel pspm) 
    { 
     // Do something 
     return Json(new { success = true }); 
    } 
+0

호출자가 어떤 응답을 기대하는지 분명하게 보이도록 조치 메소드의 리턴 유형을 JsonResult로 변경하십시오. 오류가 발생하면 다음과 같은 결과를 얻을 수 있습니다. return Json (new {success = false, errors = new [] { "error1 description", "error2 description"}}); – m1kael

관련 문제