我正在尝试使用CakePHP重定向方法重定向到一个新页面,但由于某些原因,重定向不起作用。我用来重定向的代码是
public function update_sticky_postition_in_db()
{
$this->autoRender = false;
... // Save info to database
$this->redirect(array('action' => 'tool'));
}其中tool是我尝试重定向到的视图的名称。为了尝试并加快发现问题的过程,我检查了一些东西,并认为我已经找到了问题的原因。基本上,我试图重定向到当前活动的视图,我认为这是它不重定向的部分原因。我读到这可能与页面缓存有关,但我不确定如何解决这个问题。
此外,在使用firebug时,我可以看到重定向正在发送GET请求,但之后什么也没有发生。我是必须对GET请求做些什么呢,还是应该让Cake替我处理。另外,我检查了GET的URL,它是正确的。
它位于控制器中,具有正确的名称,因为我可以查看原始工具页面。
此外,update_sticky_postition_in_db()方法没有视图(因此自动呈现设置为false),其目的是通过ajax调用更新数据库中的一行。
发布于 2012-09-12 18:11:12
从你的帖子看,你似乎是在使用ajax调用来触发update_sticky_postition_in_db(),所以重定向将无法工作。
您可以在ajax success方法中使用JavaScript进行重定向。
为此,您可以从上述方法发送一些json_encode()消息,并使用window.location检查ajax success方法中状态。
https://stackoverflow.com/questions/12384606
复制相似问题