Javascript $\u邮政大线头

Javascript $\u邮政大线头,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我使用$.post发送base64编码的字符串。其长度为1000000+小于2M 当我用PHP$\u POST抓取它时,它会崩溃504或424错误返回。 每个都会在一个大的超时后返回 对于较低的管柱长度

我使用$.post发送base64编码的字符串。其长度为1000000+小于2M

当我用PHP$\u POST抓取它时,它会崩溃504或424错误返回。 每个都会在一个大的超时后返回

对于较低的管柱长度<900000,这是正常的。但对于长度900000,响应超时为15-30秒

为了检查它,我使用了以下代码:

javascript:

var string = '...';
console.log(string.lenght); 

$.post("save.php", {
    data: string
}, function(result){
    console.log(result);
});
save.php:

$data = $_POST['data'];
echo strlen($data);
在我的本地机器上,一切正常。有人能解释发生了什么事吗? 为什么要花这么长时间?为什么我不能正常发送超过900000个字符的数据

我还检查了服务器属性:

memory_limit 128M
post_max_size 100M
max_input_vars 10000
upload_max_filesize 100M

回答了这个问题。服务器有防火墙。

尝试设置时间限制0;在php中,您说过在本地计算机上一切正常,那么您在什么服务器环境中遇到这个问题?顺便说一句,为什么在执行post时使用base64,这将大大增加数据大小?Base64仅在您确实需要以可读字符表示二进制数据时才有用。我猜您的生产环境有防火墙,并将非多部分文件上传且大于900000的帖子视为攻击,拒绝满足此请求。是的,您是对的!服务器有防火墙。所以我就联系了他们。关于base64:我从画布上抓取了一个png数据,它已经编码好了。我应该先解码然后传输吗?