AJAX& PHP =未知:输入变量超过1000

时间:2018-03-23 16:00:06

标签: php arrays json ajax

我正在使用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请求标头:

http://prntscr.com/ivdrmz

我对更改max_input_vars不感兴趣。我希望有人可以帮我修改我的数据格式。

提前致谢。 :)

2 个答案:

答案 0 :(得分:0)

检查更改数据类型:ajax调用中的“text / plain”是否解决了您的问题。

然而,正如Niels在他的帖子中建议的那样,你实际上应该将数据转换为JSON然后作为单个字符串变量发布

答案 1 :(得分:0)

总结一下,它是由JSON标头集发送的Content-Type。您正在尝试将FormData而不是Json发送到php文件。

我花了一整天的时间来发现类似问题的解决方案。