重定向后重定向CakePHP3

时间:2017-08-28 21:10:39

标签: php pdf cakephp cakephp-3.0

提交表单后,在控制器操作中,我需要在新选项卡中打开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']);
  ...
}

1 个答案:

答案 0 :(得分:3)

您只是转到PDF文件,因为您正在重定向到该文件。重定向后,执行停止,因此不执行下一个重定向。

由于浏览器限制,无法完成此操作:应用已将“下载此”标题发送到浏览器,因此您无法将用户重定向到任何位置。您可以做的是首先重定向到结束页面,然后从那里开始下载。