0

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!

4

1 回答 1

0

试试看:

parent.window.location = "http://your.url.com";

我认为这就足够了。

于 2012-09-05T02:08:41.767 回答