yii2 Pjax的使用
参考资料:https://github.com/defunkt/jquery-pjax
有两个例子:刷新时间和数据显示排序
PHP Code复制内容到剪贴板
- use yii\widgets\Pjax;
1、刷新时间
(1)控制器中的方法:Time
PHP Code复制内容到剪贴板
- public function actionTime()
- {
- return $this->render('time',['time'=>date("h:i:s")]);
- }
(2)视图中的显示:Time.php
PHP Code复制内容到剪贴板
- <?php
- use yii\widgets\Pjax;
- use yii\helpers\Html;
- ?>
- <? Pjax::begin()?>
- <?=Html::a('time',['hello/time'],['class'=>'btn btn-lg btn-primary'])?>
- <h3>Current Time:<?=$time?></h3>
- <? Pjax::end()?>
pjax可以在JS中对操作作简单的弹框说明:
PHP Code复制内容到剪贴板
- <?
- if(Yii::$app->request->isPjax){
- }
- ?>
- <script>
- /* 用户pjax签到 */
- var container = $("#container-sign"); //签到列表容器
- container.on('pjax:beforeSend',function(args){
- // alert("请求之前中断一下");
- });
- container.on('pjax:error',function(args){
- layer.msg("签到失败");
- });
- container.on('pjax:success',function(args){
- layer.msg("签到成功");
- });
- </script>
2、数据显示的排序:
只需要在GridView显示的地方加上Pjax即可:
PHP Code复制内容到剪贴板
- <?Pjax::begin();?>
- <?echo GridView::widget([
- 'dataProvider' => $dataProvider,
- 'filterModel' => $searchModel,
- 'columns' => [
- ['class' => 'yii\grid\CheckboxColumn'],
- 'id',
- 'name',
- 'password',
- ['class' => 'yii\grid\ActionColumn',
- ],
- ],
- ]); ?>
- <?Pjax::end();?>