我通过jquery的$ .ajax方法将一个巨大的javascript数组传递给php。 Content-Type是JSON,我将数据发送为RAW。
在PHP中,我使用file_get_contents获取数据(' php://输入')。
一切都运行得很好,但是在巨大的javascript数组上,例如2.5MB,php只接收小变量而且巨大的变量被剥离了。在使用jquery发送数据之前,我执行JSON.stringify以将数据作为JSON发送。 PHP仍将删除此JSON字符串中的所有巨大变量,如果我得到" php:// input"只剩下小变量.......
在php.ini中我已经提出了max_post_size和其他东西,但没有什么可行的......
有人知道我该如何处理这个问题吗?
THX!
答案 0 :(得分:0)
可能不是最好的想法,但你可以分割你的数据,像(未测试,可能需要一些更正):
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;
}
然后找到一种方法来重建数据服务器端,直到所有数据都已发送完毕。