0

SO中的第一篇文章,尽管我多年来一直在浏览它以解决那些令人兴奋的问题,而不是太多的编码问题。

我想要做的是: * 使用哈希导航 (#!/)。* 使用 Zend 控制器动作,而不是 php 文件。* 通过 javascript/jQuery 加载这些动作。

到目前为止,我已经完成了这个工作:indexController,几个动作,每个动作都通过 addActionContext() 附加到 AjaxContext,我可以通过我的 javascript/jQuery 文件通过“hashchange”插件 jQuery(window).hashchange(function(){布拉布拉})。我可以很好地循环操作。

但是如果他/她没有登录,我想将用户重定向到登录页面,这给我带来了我的问题:我怎样才能做到这一点?重定向到另一个控制器(登录控制器,登录操作)。我正在尝试类似 $this->_redirect('/#!/login/login'); 没有任何运气(是的,我已经在该控制器的初始化中设置了 AjaxContext)。我不断收到重定向错误(“页面未正确重定向”)。如果我只是在地址栏中输入“/#!/login/login”,我会正确显示所有内容。

无论如何,提前谢谢!干杯

4

1 回答 1

0

现在,如果您曾经引入其他非 ajax 上下文,这将开始变得复杂,但您可以将 Ajax 上下文添加到错误控制器。如果活动上下文是 AJAX,则让错误控制器为未经身份验证的异常返回 JSON(如果默认上下文处于活动状态,则保持重定向)。然后,您的 JS 将侦听 JSON 提供的特定错误,并手动将用户退回到适当的登录 URL。

于 2012-06-05T22:33:39.367 回答