yii2 如何在 pjax 中使用响应 sendFile()

yii2 how to use response sendFile() with pjax

我观察到当我执行函数时:

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

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

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

这个在 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(); ?>

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