单击yii2 gridview linkpager';s页否,跳转错误

单击yii2 gridview linkpager';s页否,跳转错误,yii,yii2,cgridview,Yii,Yii2,Cgridview,gridview如果在页面的右边,左边是一些菜单,当点击第2页时,它不仅刷新了gridview,而且包括左边部分在内的所有页面都丢失了--一个全新的页面出现了!帮助~ 下面是调试屏幕截图: 我的行动是 public function actionList() { $model = new Loan(); $dataProvider = new ActiveDataProvider([ 'query' => $model->find(), 'pagination'

gridview如果在页面的右边,左边是一些菜单,当点击第2页时,它不仅刷新了gridview,而且包括左边部分在内的所有页面都丢失了--一个全新的页面出现了!帮助~

下面是调试屏幕截图:

我的行动是

public function actionList()
{
 $model = new Loan();
 $dataProvider = new ActiveDataProvider([
    'query' => $model->find(),
    'pagination' => [
                    'pagesize' => '1',
     ],
 ]);

  return $this->renderPartial('list', ['model' => $model, 'dataProvider' => $dataProvider]);
}
我的看法是:

<?php
use yii\grid\GridView;
use yii\grid\SerialColumn;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<?=GridView::widget([
         'dataProvider' => $dataProvider,
     'layout'=> '{items}{pager}',
         'columns' => [
             ['attribute' =>'loan_type','label'=>'借款类型','options' => ['width' => '80']],
                 ['attribute' =>'amount','label'=>'金额','options' => ['width' => '80']],
                 ['attribute' =>'rate','label'=>'还款利率','options' => ['width' => '80']],
                 ['attribute' =>'fee','label'=>'手续费','options' => ['width' => '80']],  
             ['attribute' =>'status','label'=>'状态','options' => ['width' => '80']   ],
             ['attribute' =>'comment','label'=>'审核意见','options' => ['width' => '80']],
             ['attribute' => 'created_at','value' =>function($model){return date('Y-m-d',strtotime($model->created_at));},'label'=>'申请时间','options' => ['width' => '150']],

                 [
                 'class' => 'yii\grid\ActionColumn',
                 'header' => '操作',
                 'template' => '{audit}',
                 'buttons' => [
                    'audit' => function ($url,$model) {
                    return Html::a('<span id="xxxx" class="glyphicon glyphicon-user"></span>','#',['title'=>'审核',
    'onclick'=>"
             $.ajax({
                    type: 'GET',
                    dataType: 'text',
                    url: 'http://182.92.4.87:8000/index.php?r=loan/pj', //目标地址
                    error: function (XMLHttpRequest, textStatus, errorThrown) {alert(XMLHttpRequest.status + ':' + XMLHttpRequest.statusText); },
                    success: function (page)
                    {
                        $('.ucRight').html(page);
                    }
             });
         return false;",
    ]);},
                  ],
                     'urlCreator' => function ($action, $model, $key, $index) {
                            return Yii::$app->getUrlManager()->createUrl(['loan/list','id' => $model->status]);
             },            
             'headerOptions' => ['width' => '80'],
                 ],
      ],
]);
?>

问题的原因是您没有阻止html链接指向新页面,因此您的用户正在单击该链接,然后该链接加载一个包含服务器返回内容的新页面;在这种情况下,没有应用布局的信息页。您需要在ajax调用之前添加event.preventDefault()以停止此行为


然而,正如@arogachev所说的,如果您只是想使用分页而不需要页面刷新,那么只需使用pjax。这就是pjax的设计目的,

如果没有看到实际的代码,就无法提供帮助。更新后,请再次查看~mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash?为什么不简单地使用内置的
Pjax
来实现这些目的呢?不仅仅是我不想重新加载。我正在考虑如何用gridview刷新绑定linkpager页面图灵事件(如何配置linkpager类)?