通过Ajax发送大字符串

时间:2014-01-13 10:34:54

标签: ajax

所以,我有一个带有PHP脚本的Ajax脚本,我将照片上传到服务器。

这是Ajax:

$.ajax(
{
    type: "POST",
    url: "formImage.php",
    dataType:"json",
    xhr: function()
    {
        var myXhr = $.ajaxSettings.xhr();
        if(myXhr.upload)
        {
            myXhr.upload.addEventListener('progress',progress, false);
        }
        return myXhr;
    },
    data: {info: info },
    beforeSend : function ()
    {
        //
    },
    contentType: "application/x-www-form-urlencoded;charset=UTF-8", success: function(result)
    {
    }
});

我发送一个数组到PHP脚本,当我在PHP脚本上回显结果时,在控制台日志中我得到POST Content-Length exceeded,我正在做的是我抓取多个base64图像代码并将其连接成一个字符串,但用“ - ”分隔它们,我将它存储在info[0]中。 我尝试一次向PHP脚本发送一张照片并且它可以正常工作,但这实在是效率低下,因为如果我已经让300张照片加载了,我就不能为每一张照片做一个Ajax请求,我想抓住整个300张照片base64代码并将其作为一个字符串发送。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您需要在PHP配置中设置post_max_size值。默认情况下,它允许8 MB

答案 1 :(得分:0)

检查php.ini中的服务器设置

memory_limit = ?
upload_max_filesize = ?
post_max_size = ?

更改相应并重新启动服务器并查看

http://hakre.wordpress.com/2011/06/09/protocol-of-some-php-memory-stretching-fun/