2011-09-06 64 views
2

我想在我的Ajax响应中返回元重定向标记。如何才能做到这一点 ?在ajax响应中返回元重定向

我有一个Zend控制器,在我的init函数中,我检查会话到期。如果会话已经过期并且请求是ajax,我想要将一个元重定向标记返回到我的登录控制器中。

如果有更好的,请让我知道。

public function init() 
{ 
    if ($sessionExpired) 
    { 
     if($this->_request->isXmlHttpRequest()){    
      $this->getResponse()->setBody('<meta http-equiv="refresh" content="1;url='.APP_URL.'/authentication/loginform'.'">');       
    } 
} 
+1

请问您的AJAX响应返回HTML是否正常?你如何处理HTML客户端? – RoToRa

回答

0

而是与元标记重定向的,你可以使用window.location属性:

$this->getResponse()->setBody(
    "<script>" 
    ."window.location.href='".APP_URL."/authentication/loginform';" 
    ."</script>" 
    ); 
+0

感谢您的回复。这解决了这个问题。 – Songo