POST数据被缩短

时间:2015-06-01 17:02:47

标签: javascript php jquery arrays post

当我.post()大型数组时,很多信息都会被删除。在下面的代码片段中,第一个.html()显示了所有数组数据,而PHP的返回结果只显示了一部分数据。

JavaScript的:

$('.inner').html(JSON.stringify(dbData));
$.post( "test.php", {'filename' : filename, 'dbData' : dbData}, function(result) {
         $('.inner').html(result);
});

PHP:

ini_set('display_errors', 'On');

$filename = $_POST['filename'];
$dbData = $_POST['dbData'];

$file = $myfile = fopen($filename, 'w');

echo json_encode($dbData);

php.ini有post_max_size = 8M,我发送的数据远不到8M。

编辑:数组中的数据似乎在某一点后被切断。没有错误。

1 个答案:

答案 0 :(得分:2)

尝试增加max_input_vars的值。我相信默认值是1000。

我曾经多次遇到过这个问题,其中一个表单是为数据库表中的每一行生成一个或多个字段的,当它增长到几百行时,后面的表单字段会被删除。

虽然您似乎只使用了一个POST var $_POST['dbData'],但如果AJAX请求将每个dbData元素作为单独的&dbData[]=...参数发送,那么它将被计数多次