【发布时间】:2020-10-08 18:36:10
【问题描述】:
我有一个 javascript 函数,它正在创建一个包含对象数组的模型,并使用 AJAX POST 请求将该数据发送到我的 MVC 控制器。出于某种原因,似乎可以传递给控制器的数组的大小是有限制的,在我的例子中,虽然是实验,但似乎在 450 到 500 个对象之间。一旦它大于该阈值,控制器将只收到一个空值。是否可以进行一些配置或解决方法来消除或解决此限制?
我已经尝试了几个基于 web.config 的“解决方案”,很多人就类似的 SO 问题提出了这些问题但无济于事(我认为这些可能仅适用于 .Net Framework 的 ASP.NET 版本,而不适用于 . NET 核心)。
Javascript:
var i = 0;
$("#SupplierNumber option").each(function () {
var supplierNumber = {};
supplierNumber.Value = $(this).val();
supplierNumber.text = $(this).val();
supplierNumbers.push(supplierNumber);
//Below limits max size for testing
i = i + 1;
if (i > 450) {
return false;
}
});
//Other non-array values gathered here
var model = {
"SupplierNumbers": supplierNumbers,
//... other non-array values added to model
}
$.ajax({
type: "POST",
url: "/Administration/TestPost",
data: model,
dataType: "json",
success: function (data) {
alert("Finished");
}
});
控制器:
[HttpPost]
public async Task<IActionResult> TestPost(TestViewModel model)
{
//model is null here when array is > 500 in size
return Json(new { success = true });
}
【问题讨论】:
-
我的回答有用吗?
标签: javascript jquery ajax asp.net-core asp.net-core-mvc