Yii 使用pjax

41 篇文章 0 订阅
1 篇文章 0 订阅

今天我们来学习下在Yii框架中使用pjax,Yii自带了pjax,使用起来十分的方便

一:简单实现pjax

view:

<?php
use yii\widgets\Pjax;
use yii\bootstrap\Html;
?>
<?php Pjax::begin([
    'enablePushState' => false,//更新数据保持url不变
    'timeout' =>5000//超时时间
]); ?>
<?= Html::a("点击事件", ['pjax/pjax'], ['class' => 'btn btn-lg btn-primary']) ?>
<h1>刷新的时间为: <?= $time ?></h1>
<?php Pjax::end(); ?>

controller:

public function actionPjax()
{
return $this->render('pjax', ['time' => date('Y-m-d H:i:s')]);
}

根据如上代码可以实现:

当点击点击事件按钮时,刷新的时间数据发生变化,页面不会进行刷新

二:form表单提交数据pjax实现

view:

<?php
use yii\widgets\Pjax;
use yii\bootstrap\Html;
?>
<?php Pjax::begin([
    'enablePushState' => false,//更新数据保持url不变
    'timeout' =>5000//超时时间
]); ?>
<?=Html::beginForm(
        ['pjax/form-pjax'],//from表单提交地址
        'post',//提交方式
        ['data-pjax' => '']//使用pjax形式提交数据
)?>
<?=Html::textInput('data')?>   <!--输入框-->
<?=Html::submitButton('按钮')?>  <!--按钮-->
<?= Html::endForm()?>
<h2>输入的数据为:<?= $data ?></h2>
<?php Pjax::end();?>

controller:

public function actionFormPjax()
{
    $data = Yii::$app->request->post('data', '');
    return $this->render('form-pjax', [
        'data' => $data
    ]);
}

根据如上代码可以实现:

当点击按钮时,输入的数据根据你输入的数据发生变化,页面不会进行刷新

三:pjax+GridView实现分页操作

view:

<?php
use yii\widgets\Pjax;
use yii\grid\GridView;
?>
<?php Pjax::begin([
        'enablePushState' => false,//更新数据保持url不变
        'timeout' =>5000//超时时间
]); ?>
<?= GridView::widget([
    'dataProvider' => $dataProvider,
])?>
<?php Pjax::end();?>

controller:

public function actionPagePjax()
{
    $model = Area::find();//查询数据
    $dataProvider = new ActiveDataProvider([
        'query' => $model,
        'pagination' => [
            'pageSize' => 10,//设置每页显示数
        ],
    ]);
    return $this->render('page-pjax', [
        'dataProvider' => $dataProvider
    ]);
}

根据如上可以实现分页无刷新现象

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huaweichenai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值