繁体   English   中英

重定向后重定向CakePHP3

[英]Redirect after another redirect CakePHP3

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM