Хотелось бы периодически обновлять отдельные поля
(подтягивать данные из бд) GridView через определенный период без перезагрузки всей страницы.
На данный момент имею вот такую реализацию:
View:
<?php
$script = <<< JS
$(module).ready(function() {
setInterval(function() {
$.pjax.reload({container:'#state-dependence'});
}, 5000);
});
JS;
$this->registerJs($script);
?>
....
<?php Pjax::begin(); ?>
<?= GridView::widget([ 'id'=>'module',
'dataProvider' => $dataProvider,
'layout' => '{items}',
'tableOptions' => ['class' => 'table table-striped table-bordered'],
'columns' => [
'Id',
'Title',
[
'format' => 'raw',
'value' => function ($model, $key, $index, $column) {
return Html::tag('span', Html::encode($model::GetStringState($model->State)),
['id' => 'state-dependence']);
}
],
[
'format' => 'raw',
'value' => function ($model, $key, $index, $column) {
return Html::tag('span', Html::encode($model->Value),
['id' => 'state-dependence']);
}
]
],
]); ?>
<?php Pjax::end(); ?>
Но в такой реализации происходит полное обновление страницы. Есть ли
более правильная реализация
периодического обновления контента?