javascript - 在 Zend_Auth 中, session 过期时重定向到新页面

标签 javascript ajax zend-framework zend-auth

我正在使用 zend 1.11 框架和doctrine。我正在发送下面的 ajax 请求来填充下拉列表等...但是一旦 session 过期,我将在 Controller 的每个操作中重定向到登录页面。因此,如果 session 过期,我将得到整个 html 页面作为响应。如何在 javascript 中做到这一点(我如何找出整个 html 响应或不)。我使用 Zend_Auth 进行 session 管理。

function loadzone(value)

{

var xmlhttp;

if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
   xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {

    document.getElementById("district_span").innerHTML=xmlhttp.responseText;

    }
   }
xmlhttp.open("GET","/main/zonechange?zc="+value,true);
xmlhttp.send();



}

最佳答案

据我了解: 用户登录并打开某个表单。您执行 AJAX 检查来查看用户是否仍然登录。如果用户空闲时间太长, session 将过期。 在这种情况下您想重定向用户吗?

如果就像我认为你可以给用户一个错误的回调。这可以这样完成:

$this->_response->setHttpResponseCode(401); //401 = unauthorized

如果你这样做,你可以扩展你的 JS 功能来捕获该代码

if (xmlhttp.readyState==4 && xmlhttp.status==401) {
  //do the redirect
}

这是你要问的还是我误解了你的问题? :) 有关响应代码的其他信息可以在此处找到:http://de.wikipedia.org/wiki/HTTP-Statuscode

关于javascript - 在 Zend_Auth 中, session 过期时重定向到新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7524815/

相关文章:

php - magento自定义模块 Controller 无法获取toHtml()函数

Javascript 熄灭(css 操作),就像在 YouTube 中一样

javascript - 使用 JavaScript : How do I add to text when clicking the submit button

c# - Microsoft JScript 运行时错误 : Sys. WebForms.PageRequestManagerServerErrorException:从服务器返回的状态代码为:500

zend-framework - Zend 框架 - 提交不包含发布数据

php - 将 URL 参数注入(inject) Zend_Navigation 菜单

java - 将动态 Javascript 树结构加载到 JSP 中

javascript - 页面仅显示 2 个图表中的 1 个

javascript - 单选按钮值未插入数据库

php - 使用 php 服务器时间设置 Javascript 时间?