我正在使用javascript读取.CSV(excel)文件,当我调试。在.CSV数据时,我得到这种格式: http://prntscr.com/ivdn1h
我必须在我的数据库中导入这些数据。我使用ajax通过POST请求将数据发送到我的REST端点,在那里我调用导入的函数。
AJAX代码:
function pushToDatabase(lines){
var array = lines;
$.blockUI();
$.ajax({
url: "rest/v1/upload",
method: "POST",
dataType: "json",
data: {
file: array
},
success: function() {
alert("Data has been uploaded succesfully.");
}
});
$.unblockUI();
}
ENDPOINT(flightPHP):
Flight::route('POST /upload', function () {
$file = Flight::request()->data->file;
$status = Flight::pm()->upload_records($file);
Flight::json($status);
});
但是当我发送请求时,我得到了这个回复:
<b>Warning</b>: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in <b>Unknown</b> on line <b>0</b><br />
这是http请求标头:
我对更改max_input_vars不感兴趣。我希望有人可以帮我修改我的数据格式。
提前致谢。 :)
答案 0 :(得分:0)
检查更改数据类型:ajax调用中的“text / plain”是否解决了您的问题。
然而,正如Niels在他的帖子中建议的那样,你实际上应该将数据转换为JSON然后作为单个字符串变量发布
答案 1 :(得分:0)
总结一下,它是由JSON标头集发送的Content-Type。您正在尝试将FormData而不是Json发送到php文件。
我花了一整天的时间来发现类似问题的解决方案。