这篇文章主要介绍了ThinkPHP5.1+Ajax实现的无刷新分页功能,结合实例形式详细分析了ThinkPHP5.1+Ajax无刷新分页具体原理、前台数据发送与后台处理相关操作技巧,需要的朋友可以参考下
本文实例讲述了ThinkPHP5.1+Ajax实现的无刷新分页功能。分享给大家供大家参考,具体如下:
无刷新分页可以减轻服务器负担,利用Ajax技术,请求部分信息,提高网站访问速度,是网站建设的必备技术。
需要在后台展示自定义属性列表(lst.html),其中的列表部分摘出来,放到(paginate1.html)中:
{$self|raw}
{volist name="self" id="vo"} ID 名称 取值 显示 排序 操作 {/volist} {$vo.id} {$vo.name} {$vo.value} {if $vo.isshow==1} {else/} {/if}
其中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的类,查看源代码如下:
这就是好多人搞不懂的pagination是怎么来的。
然后开始写js代码,因为我们的分页按钮也在被请求的页面当中,属于“未来”的元素,所以这里我们要用on方法,这个方法是jquery1.7以后的方法,注意自己的jquery版本。
其中.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(); } }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
以上就是ThinkPHP5.1+Ajax实现的无刷新分页功能示例的详细内容,更多请关注0133技术站其它相关文章!