提交表单后,在控制器操作中,我需要在新选项卡中打开pdf,然后重定向到另一个页面。如果我这样做:
$this->redirect(['action' => 'view', $sale->id, '_ext' => 'pdf']);
return $this->redirect(['action' => 'add']);
我只获取pdf,但没有重定向到“添加”操作。
如何获取pdf,它位于URL ... / view / saleid.pdf中,然后转到添加操作?
修改
添加控制器操作
return $this->redirect(['action' => 'add', $sale->id]);
再次添加控制器操作,位于顶部
public function add($saleId = null)
{
if(isset($saleId))
$this->redirect(['action' => 'view', $saleId, '_ext' => 'pdf']);
...
}
答案 0 :(得分:3)
您只是转到PDF文件,因为您正在重定向到该文件。重定向后,执行停止,因此不执行下一个重定向。
由于浏览器限制,无法完成此操作:应用已将“下载此”标题发送到浏览器,因此您无法将用户重定向到任何位置。您可以做的是首先重定向到结束页面,然后从那里开始下载。