【发布时间】:2015-08-15 05:54:07
【问题描述】:
似乎当我 .post() 一个大数组时,很多信息都被删除了。在下面的代码 sn -p 中,第一个 .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。
编辑:数组中的数据似乎在某个点后被切断。没有错误。
【问题讨论】:
-
这可能是因为您的 php.ini 文件中的数据大于
post_max_size。您还可以检查您的max_upload_size配置。另一种方法是检查错误日志,看看是否可以从那里发现问题。此外,请确保您正在查看正确的php.ini文件(您可能有多个文件)。您还应该注意到,在您修改php.ini中的任何设置后,您需要重新启动网络服务器才能使更改生效。 -
发帖时产生的错误是什么?您无需检查这些 POST 元素是否存在。
$filename = isset($_POST['filename'])?$_POST['filename']:""; $dbData = isset($_POST['dbData'])?$_POST['dbData']:""; if(!empty($filename) && !empty($dbData)) { ... } -
没有错误,只是缺少数组的整个值,
-
@FuzzyStatic,截止后的下两个字符是什么?数据通过的长度是多少?
标签: javascript php jquery arrays post