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
将Json传递到特定大小时,Ajax调用失败_Json_Ajax_Model View Controller - Fatal编程技术网

将Json传递到特定大小时,Ajax调用失败

将Json传递到特定大小时,Ajax调用失败,json,ajax,model-view-controller,Json,Ajax,Model View Controller,我有以下代码将JSON对象传递给AJAX调用 var jsonResultStr = $j("#HiddenLiveJson").val(); var jsonResult = JSON.parse(jsonResultStr); var serviceURL = appRoot + 'Register/ImportTasks' $j.ajax({ type: "get", url: serviceURL, data: { 'jsonResultsStr':

我有以下代码将JSON对象传递给AJAX调用

  var jsonResultStr = $j("#HiddenLiveJson").val();
  var jsonResult = JSON.parse(jsonResultStr);

  var serviceURL = appRoot + 'Register/ImportTasks'

  $j.ajax({
   type: "get",
   url: serviceURL,
   data: { 'jsonResultsStr': jsonResultStr },
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: successFunc,
   error: errorFunc
  });
Json源于XLSX文件,因此可能是任意大小的

如果传递了一个相对较小的JSON集,比如JSON中的7个项目,那么AJAX调用将成功通过,控制器操作将被命中,我的数据将被导入。但是,如果传递了一个更大的JSON数据集,那么它会一直失败(HTTP状态400),甚至不会接近控制器操作。我似乎在任何地方都找不到导致这种情况的任何建议。显然,我的第一个猜测是XLSX文件的大小

顺便说一句。。。在我的测试中使用的JSON应该是合理的,因为失败的数据与成功的数据完全相同,但复制到其大小的两倍

到目前为止,我已经试过了 将此添加到my web.config:

<system.web.extensions>
  <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="1000000000">
        </jsonSerialization>
      </webServices>
  </scripting>
</system.web.extensions>
<add key="aspnet:MaxJsonDeserializerMembers" value="1500000000" />

并将其添加到web.config中的appSettings:

<system.web.extensions>
  <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="1000000000">
        </jsonSerialization>
      </webServices>
  </scripting>
</system.web.extensions>
<add key="aspnet:MaxJsonDeserializerMembers" value="1500000000" />

并设置以下各项:

<httpRuntime maxRequestLength="1000000000" .../>

所有这些都没有产生任何影响。
欢迎提出更多建议

您需要对大型JSON对象使用POST请求,还需要将JSON数据字符串化,contentType为“application/JSON”,dataType为“JSON”。 将ajax调用中的“data”参数替换为: 数据:JSON.stringify(jsonResult)

此外,在服务器大小脚本中,使用get-POST方法捕获客户端数据。
希望这有帮助:)

谢谢。。。不知道为什么这是一个开始,但这让我走上了正确的轨道!