Есть ли ограничение по размеру для поста AJAX? - PullRequest
9 голосов
/ 05 октября 2011

Я размещаю контент ckeditor через Ajax на php. Но получаю 4-5 предложений размещенного материала в моей таблице БД. Интересно, есть ли ограничение по размеру для поста ajax? Есть ли способ опубликовать большое текстовое содержимое через AJAX?

Мой JS выглядит так

function postViaAjax(autosaveMode) {
    var name = $("#name").val();
    var title = $("#title").val();
    var menu = $("#menu").val();
    var parentcheck = $(".parentcheck:checked").val();
    var id = $("#id").val();
    if (parentcheck == 0) {
        var parent = parentcheck;
    } else {
        var parent = $("#parent").val();
    }
    var content = CKEDITOR.instances['content'].getData();
    var dataString = 'name=' + name + '&title=' + title + '&menu=' + menu + '&parentcheck=' + parentcheck + '&id=' + id + '&parent=' + parent + '&content=' + content;
    $.ajax({
        type: "POST",
        url: "processor/dbadd.php",
        data: dataString,
        dataType: "json",
        success: function (result, status, xResponse) {
            var message = result.msg;
            var err = result.err;
            var now = new Date();
            if (message != null) {
                if (autosaveMode) {
                    $('#submit_btn').attr({
                        'value': 'Yadda saxlanıldı ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
                    });
                } else {
                    $.notifyBar({
                        cls: "success",
                        html: message + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
                    });
                }
            }
            if (err != null) {
                $.notifyBar({
                    cls: "error",
                    html: err
                });
            }
        }
    });
};

Ответы [ 4 ]

8 голосов
/ 05 октября 2011

Спецификация HTTP не устанавливает определенного размера для сообщений. Как правило, они ограничиваются веб-сервером или технологией программирования, используемой для обработки отправки формы.

Какой сервер вы используете?

4 голосов
/ 05 октября 2011

Нет ограничений по размеру для POST в HTTP.

Возможно, у вас есть & в вашей переменной содержимого.Тогда все после этого будет удалено после этого.

Кроме того, какой тип вы используете для своего столбца данных в базе данных?Случайно ли это что-то вроде varchar (1000)?Тогда все, что больше, также будет удалено.

Проверьте, что вы на самом деле получаете на стороне сервера, чтобы знать, есть ли у вас проблемы с кодом или базой данных.

2 голосов
/ 05 октября 2011

Теоретически ограничения для запросов AJAX одинаковы для всех остальных запросов, поэтому это зависит от настроек вашего веб-сервера / приложения. См. Также Максимальная длина параметра данных send () в сообщении XMLHttpRequest

2 голосов
/ 05 октября 2011

У вас есть ограничение на сервер Apache. Ищите директиву LimitRequestBody.

Это может быть полезно:

http://gallery.menalto.com/node/14870

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...