Zend 框架应用程序使用 jQuery。登录通过 nyroModal(来自http://nyromodal.nyrodev.com/的 jQuery 插件)进行。一切都很好,验证等 - 但是一旦用户登录并且 Zend_Auth 写入我想要重定向到仪表板的身份。重定向发生在模式内部,而不是重新加载浏览器框架。
这是模态的视图脚本:
<?php if($this->login_success) echo $this->login_success; ?>
<div id="login_modal">
<h2>Login</h2>
<?php echo $this->form; ?>
<div class="submit" onclick="submitForm('login')">Log In</div>
</div>
这是我的 submitForm():
function submitForm(thisform) {
var action = $('#' + thisform + '_form').attr('action');
var form = $('#' + thisform + '_form').serialize();
$.post(action, form, function(result) {
var response = $(result);
var html = response.filter('div:first').html();
$('#' + thisform + '_modal').html(html);
});
}
这是 authController 在成功登录时的响应:
$url = $this->view->url(array('controller' => 'billing',
'action' => 'index'), null, null);
$this->view->login_success = '<script type="text/javascript">
window.location = "'.$url.'"
</script>';
我也尝试过使用:
$this->_helper->redirector('index', 'billing');
但这总是在模态中加载仪表板;现在我只看到上面第一个代码块的登录标题和表单。
期待关闭此模式的答案,并将用户正确重定向到 /billing!