2009-08-05 7 views
2

사용자가 서버에 AJAX 쿼리를 보내면 내 페이지의 로그인 페이지로 사용자를 리디렉션 할 수 있습니까? 서버는 세션이 설정된 경우에만 데이터를 제공하기로되어 있습니다. 그렇지 않으면 사용자가 리디렉션되어야합니다. 나는 헤더 ("location : ...") 요청을 보내려고했지만 브라우저가이를 처리하기보다는 문자열 (xmlhttp.response)으로 처리했습니다.AJAX를 사용하여 브라우저 리디렉션

답변

2

직접적으로. 콜백 함수가이를 처리해야합니다.

예를 들어, 서버가 "LOGIN; /login.php;" 당신은 Ajax를위한 프레임 워크를 사용하는 경우 다음을 onreadystatechange 호출 다시는 조각을

if (xmlhttp.responseText.substring(0,6) == 'LOGIN;') { 
    window.location.href = xmlhttp.responseText.split(";")[1]; 
    return; 
} 

을 가질 수있다,이 코드는 Ajax 호출의 결과를 얻을 수 중 콜백에있을 수 있습니다.

1

세션이 설정되지 않은 경우 window.location을 새 페이지로 설정할 수 있습니다.

2

아니요. 리디렉션으로 처리해야하는 특별한 것을 반환 할 수 있습니다. 그러나 브라우저가 탐색하려고하지 않기 때문에 탐색하지 않습니다.

+0

나는 그 때 그것을 할 것이다. 감사 :) –

관련 문제