In yii1, CGridView, by default, if we perform filters from data using the POST method to request data.
While on yii2, the default of the GridView filter uses the GET method. Some users may feel uncomfortable with the GET method for a variety of reasons.
To change GridView on yii2 from GET to POST method, you can try it like the following example.
1. View
In the view file add the Pjax widget before and after the grid-like this.
.............. .............. .............. <?php yiiwidgetsPjax::begin(['id' => 'some-id-you-like', 'timeout' => false, 'enablePushState' = > false, 'clientOptions' => ['method' => 'POST'] ]); ?> <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' = > $searchModel, 'columns' => [ .............. .............. .............. ], ]); ?> <?php yiiwidgetsPjax::end(); ?> .............. .............. ..............
Other Interesting Articles
2. Controller
On the switch controller
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
with
$dataProvider = $searchModel->search(Yii::$app->request->post());
It’s easy enough, isn’t it???? Good luck…