2016-12-16 14 views
0

jsonオブジェクトを返すコントローラアクションメソッドに対してajax呼び出しを行うことができません。 また、メソッドに整数CheckIDを渡したいと思います。Ajax呼び出しでコントローラが呼び出されない呼び出し方法

ご協力いただきまして誠にありがとうございます。 ありがとうございました!

***View*** 

<script type="text/javascript"> 

function showCheckImage(e) { 
    e.preventDefault(); 

    var dataItem = this.dataItem($(e.currentTarget).closest("tr")); 
    var CheckID = dataItem.ID; 

    $.ajax({ 
     url: '@Url.Action("GetDeferredCheckImage", "Customer")', 
     type: 'POST', 
     data: {deferredCheckID: CheckID }, 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 

     success: function(result) { 
      //var imageObj = result; 
      alert('Loaded Image Object!'); 
     }, 
     error: function (result) { 
      alert('Error occurred while loading the image object.'); 
     } 
    }); 
} 

**Controller Method** 

[HttpPost] 
    public JsonResult GetDeferredCheckImage(int deferredCheckID) 
    { 
     try 
     { 
      QCEventLogger.Log($"Gathering deferred check image for check ID: {deferredCheckID}", LogType.Default); 
      var response = new AjaxGetDeferredCheckImageViewModel(deferredCheckID); 
      QCEventLogger.Log($"Result of service call to gather deferred check image. check ID: {deferredCheckID}. Success: {response.Success}", LogType.Default); 

      var DeferredCheckImageObject = response.ImageCheckObject.DeferredCheckImages.FirstOrDefault(); 

      return Json(DeferredCheckImageObject, JsonRequestBehavior.AllowGet); 
     } 
     catch (Exception ex) 
     { 
      var failureResponse = new AjaxGetDeferredCheckImageViewModel() { Success = false }; 
      QCErrorLogger.Log($"Failure trying to gather deferred check image for check ID: {deferredCheckID}", ex); 
      return Json(failureResponse, JsonRequestBehavior.AllowGet);     
     } 
    } 
+0

も... 1のために、あなたのデータはあなたのコンテンツタイプと一致していない、このようなことかもしれません。 –

+0

'contentType: 'application/jsonを削除します。 charset = utf-8 '、 ' - (あなたのデータを文字化していません) –

+0

ありがとうございます。それは今働いている。 – ranp

答えて

0

あなたのAJAX呼び出しは

$.ajax({ 
     url: '@Url.Action("GetDeferredCheckImage", "Customer")', 
     type: 'POST', 
     data: { deferredCheckID: CheckID }, 
     dataType: 'json', 
     success: function (result) { 
      //var imageObj = result; 
      alert('Loaded Image Object!'); 
     }, 
     error: function (result) { 
      alert('Error occurred while loading the image object.'); 
     } 
    }); 
関連する問題