Heim >php教程 >php手册 >改造thinkphp 的 Page类,使其支持ajax方式

改造thinkphp 的 Page类,使其支持ajax方式

WBOY
WBOYOriginal
2016-06-07 11:42:111255Durchsuche

改造thinkphp 的 Page类,使其支持ajax方式
效果:
改造thinkphp 的 Page类,使其支持ajax方式
说明:thinkphp版本:3.2.1
步骤:
1、打开Page.class.php(路径:ThinkPHP/Library/Think)
找到第48行:
 empty($_GET[$this->p]) ? 1 : intval($_GET[$this->p]);  改为:
 empty(I($this->p)) ? 1 : intval(I($this->p));
实际是改为用内置的 I 函数读取传递进来的P参数,这样并不会影响原有的功能。

2、ajax方式的调用:
即前台html页面
<div>此处用来显示分页内容</div> <br><br> javascript:    function jzry(p) {<br>         var request = $.ajax({<br>             url: "__MODULE__/Home/jzrh",  //用ajax加载分页数据<br>             type: "POST",<br>             async: false,<br>             data:{p:p},<br>             beforeSend: function(xhr) {<br>                 $('#message').html("正在加载数据,请稍候。");<br>             }<br>         });<br>         request.done(function(msg) {<br>             if (msg.bj == 'ok') {<br>                 $('#rs').html(msg.page);    //显示分页<br>                 $("#rs a").removeAttr("href");   //删除原来的连接地址方式,<br>                 <br>                 //改用ajax按键事件<br>                 $(".num,.end,.first").on("click", function(){<br>                     jzry( $(this).text() );<br>                 });<br>                 $(".next").on("click", function(){<br>                     jzry( parseInt($(".current").text())+1);<br>                 });<br>                 $(".prev").on("click", function(){<br>                     jzry( parseInt($(".current").text())-1);<br>                 });<br>         }});<br>         request.fail(function(jqXHR, textStatus) {<br>             $('#message').html("错误: " + textStatus);<br>         });<br>     } 样式: <style><br /> #rs a { color:#333;display:block; padding:0px 6px;<br /> font-weight:bold;float:left;border:1px solid #5d9cdf;<br /> height:20px; line-height:20px; margin:0px 2px;}<br /> .current { background:#a9d2ff; display:block; padding:0px 6px;<br /> font-weight:bold;;float:left}<br /> .clear{clear:both}<br /> </style>
3、后台使用和原来的一样 <br>         $user = M("user"); <br>         $User = $user->page($_POST['p'].',20')->order('id')->select();<br>         if ($User > 0) {<br>             $val['bj'] = 'ok';<br>             $count=$user->count();<br>             $Page=new \Think\Page($count,20);<br>             $val['page']=$Page->show();<br>             $this->ajaxReturn($val);                      //ajax方式返回<br>         }

AD:真正免费,域名+虚机+企业邮箱=0元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn