Zend AjaxContext,_redirect和哈希导航

时间:2012-06-03 23:45:34

标签: zend-framework redirect ajaxcontext

SO中的第一篇文章,尽管我已经浏览了多年,现在解决这些令人兴奋的问题而不是编码问题。

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

到目前为止,我有这个工作: indexController,几个Actions,每个都通过addActionContext()连接到AjaxContext,我可以通过“hashchange”插件jQuery(window).hashchange(function(){bla bla})通过我的javascript / jQuery文件调用它们。我可以很好地循环行动。

但是我想将用户重定向到登录页面,如果他/她没有登录,这就把我带到了我的问题:我怎样才能做到这一点?重定向到另一个控制器(登录控制器,登录操作)。我正在尝试像$ this-> _redirect('/#!/ login / login');没有运气(是的,我在该控制器的init中设置了一个AjaxContext)。我一直收到重定向错误(“页面没有正确重定向”)。如果我只输入地址栏“/#!/ login / login”,我就可以正常显示所有内容。

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

1 个答案:

答案 0 :(得分:0)

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

相关问题