【问题标题】:jQuery ajax POST data variable can hold max 199 json arrayjQuery ajax POST 数据变量可以容纳最大 199 个 json 数组
【发布时间】:2017-07-12 11:05:39
【问题描述】:

我有一个 PHP Web 应用程序,它将一些数据存储到名为 $excel 的数组 var 中。 该数组包含大约 500 - 600 行(数组)。

当我尝试像这样使用 jQuery ajax 将该数组作为 jSON 传递时:

$.ajax({
method: "POST",
url: "ajax/excel.php",
data: { "title": "Test", "data": <?php echo json_encode($excel); ?> },
dataType: "json"
}).done(function( data ) {
        console.log(data);
}).fail(function(jqXHR, textStatus, errorThrown) {
        console.log(errorThrown+': '+textStatus);
});

我在 ajax/excel.php $_POST['data'] var 中只得到 199 行。 我在不同的服务器上尝试过,我得到了 249 行,所以肯定有一些我无法弄清楚的服务器配置参数。

我在 ajax/excel.php 中收到的 $_POST['data'] 是

[
    ["1","2283","Name 1","Address 1","2714"],
    ["2","2200","Name 2","Address 2","2273"],
    ["3","1594","Name 3","Address 3","1718"],
    ...,
    ["199","3053","Name 199","Address 199","1709"]
]

测试服务器在 Windows 上:Apache 2.4.18 (Win32) 和 PHP 5.6.26

其他服务器在 Linux 上:Apache 2.4.10 (Debian) 和 5.6.29-0

【问题讨论】:

  • 检查 max_input_vars
  • 如果你的 $_POST['data'] 有一个有效的 JSON(关闭 ])我不认为是服务器配置,因为如果是 POST 限制,JSON 将到达服务器损坏、截断。 ..你能转储$excel 内容(只是为了查看结构)吗?
  • $_POST['data'] 具有有效的 JSON。正如 Hussy Borad 所说,这是一个 max_input_vars 问题。

标签: php jquery json ajax apache


【解决方案1】:

“Hussy Board”说你可以在 php.ini 中更改 ma​​x_input_vars,默认限制为 1000。另外检查 post_max_size

【讨论】:

  • max_input_vars = 10000 解决了我的问题。默认为 1000。感谢“Hussy Borad”。
猜你喜欢
  • 2020-11-11
  • 2010-11-26
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 2015-04-26
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多