Pjax - первая загрузка

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
feodor
Сообщения: 95
Зарегистрирован: 2013.01.28, 00:02

Pjax - первая загрузка

Сообщение feodor »

Привет. На сколько я понимаю Pjax первый раз загружается как обычно, не асинхронно. Дальнейшие загрузки инициируются уже через jquery. Вопрос - можно ли сделать чтобы и в первый раз содержимое Pjax контейнера грузилось через jquery?
feodor
Сообщения: 95
Зарегистрирован: 2013.01.28, 00:02

Re: Pjax - первая загрузка

Сообщение feodor »

Решил так:

Код: Выделить всё

public function actionIndex()
{
    $params = [];

    if (Yii::$app->request->isAjax) {
        $searchModel = new MySearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        $params = [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ];
    }

    return $this->render('index', $params);
}
во вью

Код: Выделить всё

<?php Pjax::begin(['id' => 'pjax-grid']); ?>
    <?php if (Yii::$app->request->isAjax): ?>
        <?= yii\grid\GridView::widget([...]); ?>
    <?php endif; ?>
<?php Pjax::end(); ?>

<script>
    $.get('<?= Url::to(['/site/index']); ?>', function(data) {
        $('#pjax-grid').html($('#pjax-grid', data));
    });
</script>
Ответить