jquery datatable 配合 rails 进行后台分页

本文介绍如何在Datatables中实现服务器端分页,并详细解释了必要的参数配置。通过设置&sPaginationType=full_numbers及&bServerSide=true,确保Datatables能正确地与后端交互。文章还提供了Rails后端分页逻辑的具体实现,包括如何解析前端传来的分页参数,如iDisplayStart和iDisplayLength,并展示如何返回符合Datatables格式的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 . 在datatables 中加入 

"sPaginationType" : "full_numbers" ,

"bServerSide": true,

2个参数。"bServerSide": true, 必须要加。否则不会传递相关参数给后台

2.  传入后台的相关 参数 和 后台需要传出的参数 可以参考 api 文档 http://datatables.net/usage/server-side

int                            iDisplayStart                                                        Display start point in the current data set.
int iDisplayLength Number of records that the table can display in the current draw. It is expected that the number of records returned will be equal to this number, unless the server has fewer records to return.
特别是这2个参数。用于后台进行分页处理

3. rails 后台进行 分页的逻辑处理

def index
                idisplaystart   = params[:iDisplayStart]
                idisplaylength  = params[:iDisplayLength]
                secho = params[:sEcho]

                itotalrecords =  GisRoadLink.where("activate  = ?",params[:activate]).count()
                items = GisRoadLink.where("activate  = ?",params[:activate]).order("id asc").limit(idisplaylength).offset(idisplaystart)   
                for item in items do
                    item_array = []
                    item_array << item.id
                    item_array << item.no
                    ....
               end 
                json_hash.store("aaData",items_array)
                json_hash.store("iTotalRecords",itotalrecords)
                json_hash.store("iTotalDisplayRecords",itotalrecords)
                json_hash.store("sEcho",secho)
                render json: json_hash 
end 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值