I have data in Razor page then i want to send data to MVC Action with jquery as this.
$("#SaveData").click(function (e) {
e.preventDefault();
var _models = new Array();
$(".loadingArea").show();
var _val = $("#maxID").val();
for (var i = 0; i < _val; i++) {
var model = {
ID: $("#ID_" + i).val(),
Data1: $("#Data1").val(),
Data2: $("#Data2").val(),
Data3: $("#Data3").val(),
Data4: $("#Data4").val(),
Data5: $("#Data5").val(),
Data6: $("#Data6_" + i).val(),
Data7: $("#Data7_" + i).val(),
Data8: $("#Data8_" + i).val(),
Data9: $("#Data9_" + i).val(),
Data10: $("#Data10_" + i).val(),
Data11: $("#Data11_" + i).val(),
Data12: $("#Data12_" + i).val(),
Data13: $("#Data13_" + i).val(),
Data14: $("#Data14_" + i).val(),
Data15: $("#Data15_" + i).val(),
Data16: $("#Data16_" + i).val(),
Data17: $("#Data17_" + i).val(),
Data18: $("#Data18_" + i).val(),
Data19: $("#Data19_" + i).val(),
Data20: $("#Data20_" + i).val(),
Data21: $("#Data21_" + i).val()
};
_models[i] = model;
}
var _str = JSON.stringify(_models);
$.ajax({
url: "Data/PostData",
data: { LogDto: _str },
dataType: "json",
type: 'post',
success: function (data) {
},
complete: () => {
$(".loadingArea").hide();
}
});
});
And here is my action in DataController.
[HttpPost]
public JsonResult PostData(string LogDto)
{
var _list = JsonConvert.DeserializeObject<MyModel>(LogDto);
var _res = restHelper.Post($"data-entry", _list, _token);
return Json(JsonConvert.DeserializeObject<ServiceResult>(_res.JsonContent));
}
When i send an array list with 47 items it is working properly. but when i try to send above 47 items the LogDto variable in PostData action shows null. And if i change inside of data the maximum row count changes but also will have new limit to save data. So is there any solution to send huge data to mvc action in .net 5 with Jquery Ajax.