【发布时间】:2019-01-16 08:00:05
【问题描述】:
#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
在文件中,http{} 中有一个参数“client_max_body_size”。它的默认值为 1048m。即使这看起来足够大,我也将其更改为 2048m。
不幸的是,这不起作用,结果仍然相同。
#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">
我没有运气检查乘客的配置文件。 我确实需要一些想法:
你认为这是由于某处的配置造成的吗?
你认为我应该改变方式吗?我要提交表单?
提前感谢您的帮助!
【问题讨论】:
-
您确定是通过 POST 请求而不是 GET 发送它吗? GET 的大小非常有限。
-
是的,我确定...
Processing WiziCommController#stats (for 192.168.xxx.xx at 2019-01-16 09:28:06) [POST] Session ID: 9064d894effdee67af170b3f822ac0e0 Parameters: {...} -
你的网络服务器是什么?如果 nginx 尝试增加“client_max_body_size”
-
我正在使用 phusion 乘客。在生产中,我使用 Apache 加载模块,但不在开发中。我想知道这是否与乘客有关?也许像 nginx 一样改变一个参数?
-
一些代码在这里会有所帮助。
sent for each row的数据怎么样?它是您与 js 一起使用的 json 吗?我只能在这里猜测...与GET相同,POST也有此问题,因为它通过 url 传递参数。
标签: ruby-on-rails forms