Javascript 如何通过AJAX使用jQuery和PHP处理海量数据?

Javascript 如何通过AJAX使用jQuery和PHP处理海量数据?,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我通过jquery的$.ajax方法将一个巨大的javascript数组传递给php。内容类型是JSON,我将数据作为原始数据发送 在PHP中,我使用文件获取数据php://input") 一切都运行得很好,但是在巨大的javascript数组上,例如2,5MB,php只接收小变量,而大变量被剥离。在使用jquery发送数据之前,我先执行JSON.stringify以JSON的形式发送数据。PHP仍然会去掉这个JSON字符串中的所有大变量,如果我得到php://input“只剩下小瓦特了 在ph

我通过jquery的$.ajax方法将一个巨大的javascript数组传递给php。内容类型是JSON,我将数据作为原始数据发送

在PHP中,我使用文件获取数据php://input")

一切都运行得很好,但是在巨大的javascript数组上,例如2,5MB,php只接收小变量,而大变量被剥离。在使用jquery发送数据之前,我先执行JSON.stringify以JSON的形式发送数据。PHP仍然会去掉这个JSON字符串中的所有大变量,如果我得到php://input“只剩下小瓦特了

在php.ini中,我提高了max_post_大小和其他内容,但是没有任何东西可以工作

有人知道我该怎么处理这件事吗


谢谢

可能不是最好的主意,但您可以分割数据,例如(未测试,可能需要一些更正):


然后找到重建数据服务器端的方法,直到所有数据都已发送。

还有哪些内容?请求\u max\u size,max\u upload\u size,在更改php.ini配置后是否重新启动了Web服务器?请检查是否启用了php的suhosin修补程序。suhosin没有安装,当然我重新启动了服务器!将所有这些变量的值设置为128m,内存限制为512m,最大值为8000等等。pp…发送小垃圾是一个好主意。。。但目前我还不知道如何用php在服务器端重建数据。可以使用start/stop命令,也可以使用javascript来确定数据的结束。您将如何识别请求以了解哪些垃圾应该在一起?只是一个唯一的id或类似的东西?一个唯一的id应该可以做到这一点。您可以将其存储到一个临时文件(以该ID作为名称)中,以保持每次调用之间的数据
var json = HUGEJSON;
while (json.length != 0) {
   var toSend = json.length >= 4096 ? json.substr(0, 4096) : json;
   $.ajax({
       url: 'server',
       method:'post',
       type:'json',
       data: toSend
   });
   json = json.length >= 4096? json.substr(4096, json.length-4096) : json;
}