Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .NETCoreV3.1将大型JSON对象发布到Razor页面处理程序_Javascript_Ajax_Asp.net Core_Razor Pages - Fatal编程技术网

Javascript .NETCoreV3.1将大型JSON对象发布到Razor页面处理程序

Javascript .NETCoreV3.1将大型JSON对象发布到Razor页面处理程序,javascript,ajax,asp.net-core,razor-pages,Javascript,Ajax,Asp.net Core,Razor Pages,我有以下JavaScript: var id=[ “ed4bbe0e-d318-e811-a95f-000d3a11f5ee”, “386c9468-d11b-e811-a95d-000d3a11ec14”, “2913f317-991d-e811-a95d-000d3a11ec14” ]; $.ajax({ 方法:“POST”, url:`/Jobs?handler=CreateJobsInQBO`, 数据类型:“json”, contentType:'application/x-www-fo

我有以下JavaScript:

var id=[
“ed4bbe0e-d318-e811-a95f-000d3a11f5ee”,
“386c9468-d11b-e811-a95d-000d3a11ec14”,
“2913f317-991d-e811-a95d-000d3a11ec14”
];
$.ajax({
方法:“POST”,
url:`/Jobs?handler=CreateJobsInQBO`,
数据类型:“json”,
contentType:'application/x-www-form-urlencoded;charset=UTF-8',
//contentType:'应用程序/json',
数据:{jobIds:ids}
})
发布到下面的Razor页面处理程序

PostCreateJobsInQBO(IEnumerable jobIds)上的公共异步任务{ 结果; if(jobIds==null | |!jobIds.Any()){ 结果=“未提交任何作业。”; }否则{ 结果=等待剂量同步(jobIds); } 返回新的JsonResult(result); } 这是毫无疑问的。 问题是,当我的JavaScript数组很大,大约3000个项目时,传入的处理程序参数值将为null。我尝试将ajax contentType设置为application/json,并在发送对象之前在对象上使用json.stringify,但它们似乎没有什么区别。我还尝试在handler函数中的参数上设置[FormBody],但同样无效


我知道我错过了一些简单的东西。我只需要一种方法将一个字符串数组发布到一个处理程序方法中,该处理程序方法大约有5000个条目。最好不要使用application/x-www-form-urlencoded内容类型,因为我认为这是导致大型数组无法工作的原因。

ValueCountLimit的默认值是1024。这是允许的表单条目数量限制

如果值计数超过1024,则应在Startup.cs中增加它

services.Configure<FormOptions>(options =>
{
    options.ValueCountLimit = int.MaxValue;
});
services.Configure(选项=>
{
options.ValueCountLimit=int.MaxValue;
});

很高兴知道这一点。不幸的是,我的数组只有大约122KB,远远低于30MB的限制。对不起,我的错误:)。它实际上与
ValueCountLimit
选项相关。它的默认限制为1024。因此,您需要将其设置为大于3000。