POST 数据被截短

Fuz*_*tic 3 javascript php arrays jquery post

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

JavaScript:

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

PHP:

ini_set('display_errors', 'On');

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

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

echo json_encode($dbData);
Run Code Online (Sandbox Code Playgroud)

php.ini 的 post_max_size = 8M 并且我发送的数据远小于 8M。

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

Kei*_*iji 5

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

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

尽管您似乎只为此使用了一个 POST$_POST['dbData']变量,但如果 AJAX 请求将 dbData 的每个元素作为单独的&dbData[]=...参数发送,则会多次计数。