首页 > 解决方案 > yii2 如何在 pjax 中使用响应 sendFile()

问题描述

我观察到,当我执行该功能时:

Yii::$app->request->sendFile()在带有 gridView 的一行中,它不是启动文件,而是显示它嵌入在HTML.

然后,如果我删除包围 GridView 的Pjax::begin()Pjax::end()边框,则下载工作。

如何在不丢失其中一项的情况下同时使用这两种功能?

标签: yii2responsesendfile

解决方案


这在 Yii2 讨论过,现在的解决方案是使用这种方法:

<?php Pjax::begin([
    'id' => 'list',
    'linkSelector' => '#list a:not([data-pjax=0])'
 ]); ?>
<a href="#" id="customListener" data-pjax="0">custom js or simple link to your action with download</a>
<a href="some/link">pjax link</a>
<?php Pjax::end(); ?>

看起来此功能可能会包含在未来的版本中。


推荐阅读