Задать вопрос
@DoNetSSS

Pjax yii2 перезагружаит страницу?

auto.php
<?php
use yii\helpers\Html;
use yii\widgets\Pjax;
?>
<?php Pjax::begin(); ?>
<?= Html::a("Обновить", ['/time'], ['class' => 'btn btn-lg btn-primary']);?>
<h1>Сейчас: <?= $time ?></h1>
<?php Pjax::end(); ?>


Контролер
public function actionTime()
    {
        return $this->render('auto', ['time' => date('H:i:s')]);
    }


vive index.php
<?php Pjax::begin(); ?>
                <?= $this->render('auto', ['time' => date('H:i:s')]) ?>
            <?php Pjax::end(); ?>
  • Вопрос задан
  • 200 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Lumore
@Lumore
Front-end developer
public function actionTime()
    {
        return $this->renderAjax('auto', ['time' => date('H:i:s')]);
    }
Ответ написан
Комментировать
alex5e
@alex5e
Дело в том, что в файле jquery.pjax.js в функции enable() указан timeout в 650mc. Ваш Pjax запрос в этот таймаут не укладывается, отчего и происходит обновление страницы. Таймаут можно задать в Pjax::begin(), но лично у меня это не сработало, потому я переопределил Pjax виджет и уже в нем задал нужный мне таймаут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы