代码之家  ›  专栏  ›  技术社区  ›  tklustig

PJAX禁止在控制器中使用$app->response->sendfile

  •  1
  • tklustig  · 技术社区  · 6 年前

    以下代码

     $completePath = Yii::getAlias('@pictures' . '/' . $filename);
     return Yii::$app->response->sendFile($completePath, $filename);
    

    如果不使用pjax编写gridview代码的话,我会做它的工作。如果我像这样使用PJAX:

     <?=
        GridView::widget([
            'dataProvider' => $dataProvider_vermieten,
            'filterModel' => $searchModel,
            'columns' => $gridColumn_vermieten,
            'pjax' => true, //this code prevents rendering pdf
            'pjaxSettings' => ['options' => ['id' => 'kv-pjax-container-immobilien']],
            'panel' => [
                'type' => GridView::TYPE_PRIMARY,
                'before' => Html::a('<i class="glyphicon glyphicon-plus"></i> zur Hauptseite', ['/site/index'], ['class' => 'btn btn-info']),
                'after' => Html::a('<i class="glyphicon glyphicon-repeat"></i> Reset Grid', ['/immobilien/index'], ['class' => 'btn btn-primary', 'title' => 'Setzt die GridView zurück']),
                'heading' => '<span class="glyphicon glyphicon-book"></span>  ' . Html::encode($this->title),
            ],
            // your toolbar can include the additional full export menu
            'toolbar' => [
                ['content' =>
                    Html::a('<i class="fa fa-folder-open"></i>', ['/immobilien/index', 'bez' => 'umbenennen'], ['class' => 'btn btn-primary', 'title' => 'additional content'])
                ],
                '{export}',
                '{toggleData}'
            ],
            'toggleDataOptions' => ['minCount' => 10],
        ]);
        ?>

    无法呈现PDF文件。有什么想法吗?如何使用PJAX呈现PDF文件,尽管一切都是如此?

    1 回复  |  直到 6 年前
        1
  •  0
  •   tklustig    6 年前

    下面的代码也将使用pjax来完成它的工作:

     return Html::a('<span class="glyphicon glyphicon-file"></span>', ['/immobilien/show', 'filename' => $filename], ['title' => 'Dokument anzeigen', 'data' => ['pjax' => '0']]);