在使用layui的分页功能时产生了一个误区,最开始我写成了用Ajax去请求数据库信息,然后再在成功返回的代码中使用layui的分页
1 Ajax{ 2 ...... 3 ...... 4 success:function(res){ 5 laypage.render({ 6 //使用返回的数据设置参数 7 }) 8 } 9 }
这样会产生一个严重的问题,就是会先把数据查了再分页,而不是查看下一页,或跳转指定页再去查询数据库,当数据库中的记录太多的时候会导致页面卡顿,等待数据返回
为了解决这个问题,改用另外的方式写:
var table = layui.table; table.render({ elem:'#tableDiv',//要显示位置元素的id url:'query/searchList',//查询数据的路径 request:{ pageNum:'currPage',//页码的参数名称,默认:page limitName:'pageSize'//每页显示数据条数的参数名,默认:limit }, where{ //其余要传的参数 }, limit:10, done:function(res,curr,count){ //如果是异步请求数据的方式,res即为你接口返回的信息 //如果是直接赋值的方式,res为:{data:[],count:99};data为当前数据页数,count为数据总长度 } })
这样就可以正确的分页