# 3 РЕДАКТИРОВАТЬ => ПРИЧИНА НАЙДЕНА!
Итак, я обнаружил, что причина проблемы Datatable . Даже если я не использую нумерацию страниц, Datatable ограничивает число строк, которые форма может POST.
jQuery('#tblStats').DataTable( {
dom: 'ft',
ordering: false,
jQueryUI: true,
scrollY: "400px",
deferRender: true,
scroller: true,
scrollCollapse: true,
language: {
search: "<%= t('app.bouton.filter') %>",
infoEmpty: "<%= t('app.datetables.sZeroRecords') %>"
}
});
Есть идеи, как избежать этого ограничения и продолжать использовать Datatable?
Я уже пробовал это, но все то же самое:
https://www.gyrocode.com/articles/jquery-datatables-how-to-submit-all-pages-form-data/
Спасибо!
ПЕРВОНАЧАЛЬНОЕ СООБЩЕНИЕ
Мне трудно понять, почему у меня отсутствуют некоторые параметры при отправке формы.
Внутри формы есть таблица, которая динамически заполняется. 10 параметров отправляются для каждой строки. Подтверждение отлично работает с небольшими данными , но, похоже, оно ограничено 1898 параметрами. Иногда параметры первых 5 или 6 строк отсутствуют, а иногда параметры последних строк. Это совершенно случайно. Но предел, кажется, всегда один и тот же: отправляется не более 1898 параметров.
Я не получаю никакой ошибки вообще. Параметры просто не отправляются. Это происходит как на рабочем сервере, так и на сервере разработки. Серверы разные и ОС тоже разные.
Версия Rails - 2.3.18. Версия Ruby - 1.8.7.
Кто-нибудь имеет представление о том, что происходит?
Заранее спасибо за помощь!
# 1 РЕДАКТИРОВАТЬ
Следуя совету Oshanz Я нашел файл конфигурации пассажира. В моем случае:
$>/home/alberto/.rvm/gems/ree-1.8.7-2012.02@dev/gems/passenger-4.0.37/resources/templates/standalone/config.erb
В файле есть параметр "client_max_body_size" внутри http {}. Он имеет значение по умолчанию 1048м. Даже если это кажется достаточно большим, я изменил его на 2048 м.
К сожалению, это не сработало, и результат все тот же.
# 2 РЕДАКТИРОВАТЬ
Так что у меня все еще есть проблема.
Как я прокомментировал ниже, я использую form_remote_tag
с динамически заполненной таблицей внутри. Это будет отправлено с использованием XMLHttpRequest в фоновом режиме вместо обычной перезагрузки POST.
Это генерирует:
<form action="/wizi_comm/stats" method="post" onsubmit="Element.hide('err');Element.show('spinner');; new Ajax.Request('/wizi_comm/stats', {asynchronous:true, evalScripts:true, onComplete:function(request){Element.hide('spinner');Element.show('mainBd');}, parameters:Form.serialize(this)}); return false;">
Я также проверил, используя form_tag
, и результат тот же. Некоторые параметры просто не отправляются.
<form action="stats" method="post">
Я проверил конфигурационные файлы пассажира без удачи. Мне действительно нужны некоторые идеи:
Как вы думаете, это связано с конфигурацией где-то?
Как вы думаете, мне следует изменить способ отправки формы?
Заранее спасибо за помощь!