2011-09-23 2 views
0

나는 doctrine과 함께 zend 1.11 프레임 워크를 사용하고 있습니다. 나는 아약스 요청 아래에 드롭 다운 목록을 채우는거야 & 등 ...하지만 세션이 만료되면 나는 컨트롤러의 모든 작업에 로그인 페이지로 리디렉션 해요. 그래서 세션이 만료 된 경우 응답으로 전체 HTML 페이지가 표시됩니다. 어떻게 자바 스크립트에서 할 (어떻게 전체 HTML 응답을 찾을 수 또는하지). 세션 관리를 위해 Zend_Auth를 사용하고 있습니다.Zend_Auth의 세션 만료시 새 페이지로 리디렉션

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(); 



} 
+0

질문에 의미있는 제목을주십시오. 당신은 단지 당신의 제목에 도움이되지 않는 태그를 넣습니다. – markus

+1

@markus는 그 제목입니다. 괜찮습니까? – Darshan

+0

소리가 훨씬 좋습니다! – markus

답변

2

글쎄 내 이해 : 사용자가 로그인하여 양식을 엽니 다. 사용자가 아직 로그인되어 있는지 확인하기 위해 AJAX 점검을 수행합니다. 사용자가 너무 오래 유휴 상태 인 경우 세션이 만료됩니다. 그런 경우 사용자를 리디렉션 하시겠습니까?

만약 내가 당신이 나쁜 콜백을 줄 수 있다고 생각하는 것입니다. 이것은 다음과 같이 수행 할 수 있습니다 : 당신이 그렇게 할 경우

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

, 당신은 단지 코드

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

을 잡으려고 JS의 기능을 확장 할 수 있습니다 이것은 당신이 요구하고 또는 내가 잘못 해석 한 일을 당신의 문제? :) 응답 코드에 대한 추가 정보는 여기를 참조하십시오. http://de.wikipedia.org/wiki/HTTP-Statuscode

관련 문제