【发布时间】: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