我有一个很大的多维Javascript数组,我用AJAX POST传递给我的PHP文件:
$.ajax({
type: "POST",
dataType: 'json',
url: "forms/scripts/testArray.php",
data: {
header: header,
gridData: gridData
}
});
gridData
是我的多维数组,它有1000个元素,每个子数组包含3个元素。当我调试并查看我的PHP文件中的数据时,来自POST
的数组中只有大约350个元素。
使用Firebug,我收到有关发送的文件大小和收到的文件大小的信息:
正如你所看到的,小弹出窗口告诉我AJAX调用发送了462.8 KB但实际上只收到4.9 KB。这是真的?这就是为什么我只得到我试图发布的数组的一部分?
此外,这是通过AJAX POST将多维数组从Javascript移动到PHP的最佳方法吗?
感谢您提供的任何帮助!
答案 0 :(得分:2)
可能工具链中的某些内容限制了可以发送/接收的最大数量。这可以通过您的网络服务器(可能是Apache),或者(更可能)在您的PHP设置中。 PHP有一些设置,如post_max_size,max_input_time,max_input_nesting_level,max_input_vars等。你应该看看这些设置!
答案 1 :(得分:0)
数据中可能有一个奇怪的字符抛出了json编码/解码,或者只是在被“接收”的最后一个元素之后。
答案 2 :(得分:-1)
删除;
文件中的php.ini
(分号),设置增加max_input_vars
然后就可以了:
max_input_vars = 10000