我有一个内置在CakePHP中的模块,该模块托管在iFrame中。我需要在父页面上有一个重定向目标。使用普通的HTML我做:
<a href="#" target="_parent">
但是我如何为CakePHP重定向做到这一点?
$this->redirect('http://www.url.com');
答案 0 :(得分:2)
“重定向”实际上是使用HTTP协议完成的,这意味着它对用户完全透明,并且没有加载HTML。
您要做的是在HTML页面中创建一个链接。因此,您不能使用redirect()来执行此操作,因为redirect()使用的是比HTML更低的层。
你必须创建一个带有HTML重定向的页面(有几种方法可以帮助你)。
答案 1 :(得分:0)
抓住答案:
$this->redirect()
通过发出HTTP响应代码进行重定向,即HTTP标头将使浏览器重定向。 HTTP响应代码中没有“目标”的概念,因此您无法使用此技术重定向父框架。
您的用户必须自己点击target="_parent"
链接,否则您必须使用其他技术。
答案 2 :(得分:0)
尝试$this->redirect(array('controller' => 'pages', 'action' => 'display', $id));
,其中$id
是您要重定向到的帖子的ID。