layui——分页(ajax请求)

这次记录下借助layui框架实现的分页功能,本人使用的是layui的1.0.9版本。首先还是来复习下layui分页需要掌握的知识点,再通过实际案例来说明下具体这么用。

一 加载模块
首先,在使用layui的分页模块时,要加载需要使用到的分页模块,而根据layui的官方文档说明,一共有预先加载和按需加载两种方式。但是官方建议使用预先加载的方式,因为这样可以避免到处写layui.use([])的麻烦。(但是由于刚开始使用layui还不太熟悉且只用到这一个功能,所以我是按需加载的方式。大家还是按照官方推荐吧!)
layui.use(['laypage', 'layer'], function() {
          var laypage = layui.laypage 
		, layer = layui.layer;  //获取laypage、layer模块
         // TODO                
});
二  laypage
laypage包含很多参数,但并不是所有的都要填上,下面介绍几个最常用的,也是很重要的。其他的参数项文档也有介绍,是否使用要看你的分页的需求了。


如文档所述,con的值就是body里的存放分页的容器的id名;pages 是分页数,它是获取返回到的,是一共有多少页,这两项是必填项。

最后一个必填项就是jump,点击页数会触发这个参数的回调函数,obj里包含了说有laypage需要的配置信息,是有服务端返回的,包括pages,curr(当前页数)等。

三 实例说明
先说下业务需求:根据ajax获取的数据进行分页展示,每页展示十条数据。下面贴出主要代码:
var currPage =1;
function getListData(){
              $.ajax({
                  type: 'POST',
                  url: "", // ajax请求路径
                  data: {
                      page:currPage, //当前页数
                      rows:10
                  },
                  dataType:'json',
                  success: function(data){
                      data = JSON.parse(data);
                      pageCount =data.result.pageCount;
                      shuju(data.result.dataList);
                      paged(data);
                  }
              });
          };
这里的data传的参数是根据后台的需要传的,设计的是前端传给后台一个当前页数,然后后台将查出的数据返回给前端,rows是根据需求一页展示10条数据。请求成功后调用shuju()方法,这个方法是用来拼接数据展示在页面上的,这里就不展示了;paged()方法则是实现分页功能。
function paged(data){
              layui.use(['laypage', 'layer'], function() {
                  var laypage = layui.laypage
                      , layer = layui.layer;
                  var nums =10; //每页出现数量

                  laypage({
                      cont:'split' // 容器id
                      , pages: pageCount //总页数
                      , curr: currPage
                      , jump: function (obj,first) {
                          currPage =obj.curr;  //这里是后台返回给前端的当前页数
                          if(!first){ //点击跳页触发函数自身,并传递当前页:obj.curr  ajax 再次请求
                              getListData(currPage);
                          }
                      }
                  });
              });
          }
代码贴出来后再看,发现还挺简单的,但是不知道为什么做的时候我感觉好麻烦好麻烦,可能还是个人能力不够好,还需要继续努力,道阻且长。
以上~~~




  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Layui和Spring Boot都是非常流行的开源框架,可以很好地实现前后端分离的开发模式。在使用Spring Boot进行开发时,常常需要对数据进行分页查询,而Layui则提供了非常方便的分页组件,可以快速实现分页展示效果。下面介绍一下如何在Spring Boot中使用Layui实现分页查询。 1. 添加Layui依赖 在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.github.layui</groupId> <artifactId>layui</artifactId> <version>2.5.5</version> </dependency> ``` 2. 创建Controller 在Controller中定义分页查询接口,例如: ```java @GetMapping("/users") public Page<User> getUsers(@RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "10") int limit) { Pageable pageable = PageRequest.of(page - 1, limit); return userRepository.findAll(pageable); } ``` 其中,Pageable和PageRequest是Spring Data提供的分页接口和实现类,userRepository是Spring Data JPA自动生成的Repository接口。 3. 创建页面 在页面中引入Layui分页组件,例如: ```html <table class="layui-table"> <thead> <tr> <th>ID</th> <th>用户名</th> <th>邮箱</th> </tr> </thead> <tbody id="user_table"></tbody> </table> <div id="user_pagination"></div> <script type="text/javascript"> layui.use(['table', 'laypage'], function() { var table = layui.table; var laypage = layui.laypage; laypage.render({ elem: 'user_pagination', limit: 10, layout: ['prev', 'page', 'next', 'skip'], jump: function(obj, first) { if (!first) { $.get('/users', {page: obj.curr, limit: obj.limit}, function(res) { table.reload('user_table', {data: res.content}); }); } else { $.get('/users', {page: 1, limit: 10}, function(res) { table.render({ elem: '#user_table', data: res.content, cols: [[ {field: 'id', title: 'ID'}, {field: 'username', title: '用户名'}, {field: 'email', title: '邮箱'} ]] }); }); } } }); }); </script> ``` 其中,laypage.render方法初始化分页组件,elem参数指定分页组件要渲染的容器,limit参数指定每页显示的记录数,layout参数指定分页组件的布局,jump参数指定分页组件的回调函数。在回调函数中,通过$.get方法向后端发送分页查询请求,根据查询结果重新渲染表格。第一次进入页面时,需要发送一次分页查询请求,获取第一页的数据。 以上就是在Spring Boot中使用Layui实现分页查询的基本流程,具体实现还需要根据具体业务逻辑进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值