CakePHP重定向整个页面而不是div

时间:2012-12-22 12:20:26

标签: ajax cakephp

当我使用ajax在Users控制器中使用CakePHP登录功能登录时。错误将显示在登录表单上方的Div中。但是当我成功登录时,我想将页面重定向到主页。当我在用户控制器中使用$this->redirect('home');时,只会更新Div。

如何确保重新加载整个页面?我宁愿用PHP修复这个问题而不是Javascript&因为我在JSHelper中使用Writebuffer方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

这应该在客户端解决。因为客户端浏览器获取AJAX响应并将输出放在DIV中。

虽然您可以在AJAX响应中嵌入javascript代码。例如,如果登录不正确,则在输出中放入window.location javascript代码。但这不是一个好的解决方案。

在AJAX响应中返回HTTP状态代码。例如,如果代码是401,则重定向。

if (data == '401') {
  document.location.href="http://example.com";
}