怎么在ThinkPHP5.1项目中利用Ajax实现一个无刷新分页功能-创新互联

本篇文章给大家分享的是有关怎么在ThinkPHP5.1项目中利用Ajax实现一个无刷新分页功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

10多年的尼玛网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整尼玛建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“尼玛网站设计”,“尼玛网站推广”以来,每个客户项目都认真落实执行。

具体如下:

无刷新分页可以减轻服务器负担,利用Ajax技术,请求部分信息,提高网站访问速度,是网站建设的必备技术。

需要在后台展示自定义属性列表(lst.html),其中的列表部分摘出来,放到(paginate1.html)中:


  
    
      
          
            
              
                ID
                名称
                取值
                显示
                排序
                操作
              
            
            
              {volist name="self" id="vo"}
              
                {$vo.id}
                {$vo.name}
                {$vo.value}
                
                  {if $vo.isshow==1}
                  是
                  {else/}
                  否
                  {/if}
                
                
                
                  
                    操作 
                    
                    
                      
  • 修改                       
  •                       
  • 删除                       
  •                                        
                                                  {/volist}                                 {$self|raw}                                                                 排序                        
            
          
           

    其中self是服务器端传递过来的自定义属性,并进行了分页操作:

    $selfattribute_select = db("selfattribute")->paginate(5);
    $this->assign("self",$selfattribute_select);

    因为lst.html把列表摘了出来,所以还要在引入回去,才能使页面完整,同时,为了方便进行jquery操作,把列表用带id的div包裹起来:

    
        {include file="selfattribute/paginate1"}
    

    ThinkPHP5.1带的分页类使用的是BootStrap样式,它在页面显示时实际会有一个pagination的类,查看源代码如下:

    
      
        «
      
        1
      
  •     2
  •   
  •     3
  •   
  •     4
  •   
  •     5
  •   
  •     6
  •   
  •     »
  • 这就是好多人搞不懂的pagination是怎么来的。

    然后开始写js代码,因为我们的分页按钮也在被请求的页面当中,属于“未来”的元素,所以这里我们要用on方法,这个方法是jquery1.7以后的方法,注意自己的jquery版本。

    
      $(document).on('click', '.pagination a', function(event) {
        var url = $(this).attr('href');
        $.ajax({
          url: url,
          type: 'get',
        })
        .done(function(data) {
          $("#paginate").html(data);
        })
        return false;
      });
      

    其中.done()方法和success方法是一样的,return false是为了阻止默认事件,防止直接跳转。

    那么服务器端就可以根据情况渲染模板了,代码如下:

    public function lst()
      {
        $selfattribute_select = db("selfattribute")->paginate(5);
        $this->assign("self",$selfattribute_select);
        if (request()->isAjax()) {
          return view("paginate1");
        } else {
          return view();
        }
      }

    以上就是怎么在ThinkPHP5.1项目中利用Ajax实现一个无刷新分页功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


    当前名称:怎么在ThinkPHP5.1项目中利用Ajax实现一个无刷新分页功能-创新互联
    文章地址:http://azwzsj.com/article/dsigod.html

    其他资讯