当我使用ajax在Users控制器中使用CakePHP登录功能登录时。错误将显示在登录表单上方的Div中。但是当我成功登录时,我想将页面重定向到主页。当我在用户控制器中使用$this->redirect('home');
时,只会更新Div。
如何确保重新加载整个页面?我宁愿用PHP修复这个问题而不是Javascript&因为我在JSHelper中使用Writebuffer方法。
谢谢!
答案 0 :(得分:1)
这应该在客户端解决。因为客户端浏览器获取AJAX响应并将输出放在DIV中。
虽然您可以在AJAX响应中嵌入javascript代码。例如,如果登录不正确,则在输出中放入window.location javascript代码。但这不是一个好的解决方案。
在AJAX响应中返回HTTP状态代码。例如,如果代码是401,则重定向。
if (data == '401') {
document.location.href="http://example.com";
}