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);
}
예보고 고려해야 할 몇 가지 링크입니다. 나는 디버깅을 시도했다. 그렇지 않으면 응답이 없습니다하지만이 이벤트 뷰어에서이 오류가 발생했습니다 - 예외 정보 : 예외 정보 : 예외 유형 : ArgumentException 예외 메시지 : JSON JavaScriptSerializer를 사용하여 직렬화 또는 직렬화 해제 중에 오류가 발생했습니다. 문자열의 길이가 maxJsonLength 속성에 설정된 값을 초과합니다. 우리는 컨트롤러에서 serializer를 사용하여 컨트롤을 사용할 때 maxlength를 설정할 수 있습니다.하지만 JQuery ajax에서 컨트롤러로 컨트롤을 설정하는 방법. – muthuvel
일부 링크로 내 대답을 업데이트했습니다. – Yasser
web.config에 jsonmaxlength 설정을 추가했으며 작동하지 않는 경우에도 다음 코드를 추가했습니다. var serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue; VAR 결과 = 새로운 ContentResult { 내용 = serializer.Serialize (새 FindingDB() SynFinding (새 DB() 프로세스 (ID, 항목))..), 의 ContentType = "응용 프로그램/JSON" }; return Json (결과); – muthuvel