2012-04-09 2 views
0

ajax J 쿼리에서 MVC 면도기 컨트롤러로 무제한 JSON 데이터를 보내야합니다. 제한된 데이터를 보내면이 메소드가 트리거됩니다. 더 많은 데이터를 보내면 메소드가 트리거되지 않고 500 내부 오류가 발생합니다.jquery ajax에서 mvc 면도기 컨트롤러로 무제한 Json 데이터를 보내는 방법

 $.ajax({ 
          url: '../Offline/Save', 
          data: JSON.stringify(Item), 
          data: "{'Id':" + Results.rows.item(m).Id + ",'Item':" + JSON.stringify(Item) + "}", 
          type: 'POST', 
          dataType: "json", 
          contentType: "application/json; charset=utf-8", 
          success: function (data, status) { 
           alert(data); 
           } 
          },         
          error: function (xhr, ajaxOptions, thrownError) { 
           console.log(xhr.status); 
           console.log(thrownError); 
          } 
         }); 


    [HttpPost] 
    [ValidateInput(false)] 
    public JsonResult SaveFinding(int Id, SyncItem Item) 
    { 
     Result result = new DB().Process(Id, Item); 
     return Json(result); 
    } 

답변

0

디버깅을 시도 했습니까?

SaveFinding() 자체가 오류를 던지지 않는 방법입니까?

또는 방법을 완료 한 후에 오류가 발생합니까? 여기

Can I set an unlimited length for maxJsonLength in web.config?

http://binoot.com/2008/10/14/using-json-some-observations/

http://support.microsoft.com/kb/981884

http://dotnetbyexample.blogspot.com/2007/11/expanding-lenght-of-json-data-returned.html

+0

예보고 고려해야 할 몇 가지 링크입니다. 나는 디버깅을 시도했다. 그렇지 않으면 응답이 없습니다하지만이 이벤트 뷰어에서이 오류가 발생했습니다 - 예외 정보 : 예외 정보 : 예외 유형 : ArgumentException 예외 메시지 : JSON JavaScriptSerializer를 사용하여 직렬화 또는 직렬화 해제 중에 오류가 발생했습니다. 문자열의 길이가 maxJsonLength 속성에 설정된 값을 초과합니다. 우리는 컨트롤러에서 serializer를 사용하여 컨트롤을 사용할 때 maxlength를 설정할 수 있습니다.하지만 JQuery ajax에서 컨트롤러로 컨트롤을 설정하는 방법. – muthuvel

+0

일부 링크로 내 대답을 업데이트했습니다. – Yasser

+0

web.config에 jsonmaxlength 설정을 추가했으며 작동하지 않는 경우에도 다음 코드를 추가했습니다. var serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue; VAR 결과 = 새로운 ContentResult { 내용 = serializer.Serialize (새 FindingDB() SynFinding (새 DB() 프로세스 (ID, 항목))..), 의 ContentType = "응용 프로그램/JSON" }; return Json (결과); – muthuvel

관련 문제