-1

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

如何确保重新加载整个页面?我宁愿用 PHP 来解决这个问题,而不是 Javascript,因为我正在使用带有 JSHelper 的 Writebuffer 方法。

谢谢!

4

1 回答 1

1

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

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

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

if (data == '401') {
  document.location.href="http://example.com";
}
于 2012-12-22T12:47:50.853 回答