我通过我网站上的表单上传CSV(65KB),用papaparse解析,然后用ajax将其发布到我的服务器:
console.log(csv)
// if everything is ok, send via AJAX to process with PHP
$.ajax({
type: "POST",
url: "scripts/batch_objects.php",
dataType: 'json',
data: {'Data': csv},
success: function(result){
$("#batchResult").html(result);
},
error: function(result) {
$("#batchResult").html(result);
},
});
在控制台中,我可以看到CSV已正确上传和解析 - 它确认所有行(其中435个)都在csv
var中设置。在服务器端,我有一个快速的脚本来检查:
<?php
$csv = $_POST['Data'];
echo count($csv);
?>
然而,在服务器端,我只获得了143行(echo语句的输出),而不是全部435行。
我已尝试在我的.htaccess中设置php_value post_max_size 20M
,但这没有帮助。
答案 0 :(得分:0)
以下针对我的固定事项(找到灵感here):
// get our data together
var postData = {};
postData.Table = table;
postData.Action = action;
postData.Data = csv;
// if everything is ok, send via AJAX to process with PHP
$.ajax({
type: "POST",
url: "scripts/batch_objects.php",
contentType: "application/json",
data: JSON.stringify(postData),
success: function(result){
$("#batchResult").html(result);
console.log("Success " + result);
},
failure: function(result) {
$("#batchResult").html('ERROR: ' + result);
console.log('Eror ' + result);
},
});
然后在服务器端,您可以使用以下命令访问POST数据:
$post_data = json_decode($HTTP_RAW_POST_DATA);