看起来当我使用.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。
编辑:数组中的数据似乎在某个点之后被截断了。没有错误提示。
php.ini
文件中的post_max_size
更大。你也可以检查你的max_upload_size
配置。另一种方法是检查错误日志并看看是否可以从那里找到问题。另外,请确保你正在查看正确的php.ini
文件(你可能有多个文件)。还要注意,在修改php.ini
中的任何设置之后,你需要重新启动 Web 服务器才能使更改生效。 - Cyclonecode$filename = isset($_POST['filename'])?$_POST['filename']:""; $dbData = isset($_POST['dbData'])?$_POST['dbData']:""; if(!empty($filename) && !empty($dbData)) { ... }
- Twisty