我正在尝试将一组对象(我从Handsontable中成功提取)发送到我的PHP服务器中的脚本。
function saveMaterials(showAlert){
var tableData = handsontable.getData();
$.ajax({
url: "../phprequests/saveMaterials.php",
data: { "data": tableData,
"endUserId": <?php echo $endUserId ?>},
dataType: 'json',
type: 'POST',
success: function (res) {
if (res.result === 'ok') {
if(showAlert) alert('Saved data.');
}
else {
if(showAlert) alert(res.errorMessage);
}
},
error: function(xhr, status, error) {
if(showAlert) alert(error);
}
});
}
在我的PHP服务器中,我只会收到数据,然后保存在我的数据库中:
<?php
$materialsData = $_POST['data'];
$endUserId = $_POST['endUserId'];
//deal with materialsData
?>
materialsData是一个对象数组(Handsontable的行),每个对象有15个字段(每列一个)。
当我有少量行时,一切都按预期工作。但是,在一次发送超过80行之后,我注意到我的PHP只接收了72项materialData数组,并且没有收到数据的“endUserId”部分。 看起来,由于某种原因,只有部分数据被发送到服务器或由它接收。
我可以在此帖子请求中发送的数据长度是否有限制? 我检查了服务器中的max_post_size,它设置为256MB。
答案 0 :(得分:2)
通过在我的服务器的php.ini文件中增加max_input_vars 来解决问题
由于数组中有超过1000个变量,服务器只接收了部分变量!
希望这有助于某人!