参照用:
Pjaxは、pushStateとajaxを使用するjqueryプラグインであり、リンクをたどるときにページを完全にロードするのではなく、部分的にロードする機能を提供しますが、対応するページタイトルと戻る機能を備えています
GridViewでPjaxを使用する
ここでそれについてよく書かれています 。
つまり、pjaxが機能するためには、次のようにGridViewウィジェットをラップする必要があります。
<?php \yii\widgets\Pjax::begin(); ?> <?= GridView::widget([ // ... configuration here ]); <?php \yii\widgets\Pjax::end(); ?>
すべてのリンクでpjaxリクエストを作成したくない場合は、除外されたリンクにdata-pjax = 0属性を追加します。 たとえば、次のように:
<?= \yii\helpers\Html::a(Yii::t('app', '...'), ['car/view', 'id' => $car->id], ['data-pjax'=>0]) ?>
pjaxウィジェットにもプロパティがあります:
public $linkSelector;
pjaxを使用して処理するリンクをフェッチするために使用できます。
送信フォームのpjax
フォーム送信時にpjaxをハングアップする場合は、data-pjax = 1属性を追加する必要があります。これは、デフォルトでウィジェットによって生成されるコードが次のようになるためです。
jQuery(document).on('submit', "#w2 form[data-pjax]", function (event) {jQuery.pjax.submit(event, '#w2', {"push":true,"replace":false,"timeout":1000,"scrollTo":false});});
ただし、プロパティを使用して変更することもできます。
public $formSelector;
もっと読む場所
pjaxウィジェットへのリンクgithub.com/yiisoft/yii2-framework/blob/master/widgets/Pjax.php
pjaxプラグインgithub.com/yiisoft/jquery-pjaxへのリンク