your_uncle
@your_uncle
старый я. учусь я

СКолько можно передать элементов в массиве через ajax?

всем привет! Помогите советом
JSом собираю JSON массивчик и передаю его AJAXом. принимаю и обрабатываю PHP. суть проблемы в том что PHP принимает только 100 элементов, а в массиве их может быть от 40 и выше.
как быть? и в чем может быть проблема (ограничения хостера?)?
var objJSONSave = [];
            $(".my_snippets ").each(function (i, e) {
                console.log('массив для сохранения');
                objJSONSave.push
                ({
                    key: $(e).find(".my_key").text(),
                    search: $(e).find(".my_search").text(),
                    url: $(e).find(".my_url").text(),
                    sitename: $(e).find(".my_sitename").text(),
                    snippet: $(e).find(".my_snippet").text(),
                    poz: $(e).find(".my_poz").val(),
                    neg: $(e).find(".my_neg").val(),
                    type: $(e).find(".my_type").val(),
                    action: $(e).find(".my_action").val(),
                    pos: $(e).find(".my_pos").val()

                });

            });
            objJSONSave.push
            ({
                dateadd: $('#dateadd').val(),
                dateprev: $('#dateprev').val(),
                id: $('#getId').val(),
                link: $('#linkM').val(),
                project: $('#project').val()
            });



            $.ajax({
                type: "POST",
                url: "./tpl/save.php",
                async: true,
                data: {obj: objJSONSave},
                success: function (data) {
                    if (data != '') {
                        alert('all good!');
                        $('#qw').append(data);
                        console.log(objJSONSave);
                    }
                }
            });


$postData = $_POST;
  • Вопрос задан
  • 593 просмотра
Решения вопроса 1
@balamyt92
; select * from users; --
Ну шлите json строку на сервер, в ней хоть 2000 значений. Главное влезть в лимиты на размер тела запроса. Как правило это примерно 5 МБ (реже 10-20), зависит от настроек сервера. Если все таки значений очень много либо поднимайте лимиты на принимающем хосте (проще всего) либо отправляйте чанками (сложнее).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
slo_nik
@slo_nik
Доброе утро.
Вот тут посмотрите.
В php.ini есть волшебная строчка: max_input_vars = 1000
Передается ровно 1000 пар {значение : переменная}
Ответ написан
HectorPrima
@HectorPrima
программист
Количество элементов менее важно чем общий размер POST запроса.
Ответ написан
@dgrigory
Смотрите и увеличивайте post_max_size , max_input_vars Если передаёте файлы, то ещё upload_max_filesize. Если лимиты в порядке, тогда проблема в коде
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы