Размер данных XMLHttpRequest POST - PullRequest
3 голосов
/ 18 июня 2010

Существует ли ограничение размера для запроса XHR POST? Я использую метод POST для сохранения текстовых данных в MySQL с помощью сценария PHP, и данные обрезаются. Firebug отправляет мне следующее сообщение:

... Firebug request size limit has been reached by Firebug. ... 

Это мой код для отправки данных:

function makeXHR(recordData)
{
    xmlhttp = createXHR();

    var body = "q=" + encodeURIComponent(recordData);

    xmlhttp.open("POST", "insertRowData.php", true);
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", body.length);
    xmlhttp.setRequestHeader("Connection", "close");

    xmlhttp.onreadystatechange = function() 
    {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) 
        {
            //alert(xmlhttp.responseText);
            alert("Records were saved successfully!");
        }
    }
    xmlhttp.send(body);

}

Единственное решение, которое я могу придумать, это разделение данных и создание очереди XHR-запросов, но мне это не нравится Есть ли другой способ?

1 Ответ

1 голос
/ 18 июня 2010

XHR Post не имеет ограничения по размеру, но вы отправляете данные в PHP, размер которого ограничен;) Создайте следующий php-файл и откройте его в браузере:

<?php phinfo(); ?>

Теперь ищите переменную "post_max_size", эта переменная ограничивает максимальное количество данных, которые могут быть отправлены в PHP (но их можно изменить в php.ini)

...