시나리오를 AppController의 beforeFilter에 넣었습니다. 일부 세션 데이터가 설정되어 있는지 확인하는 세션 검사 메소드가 있습니다. 그렇지 않은 경우 사용자는 로그인 페이지로 리디렉션됩니다.케이크의 beforeFilter에서 requestAction을 사용하여 AJax 레이아웃 렌더링하기
이 아약스 호출이 만들어 그러나 때, 서버 측 작업을 호출 잘 작동은으로, beforeFilter 내 코드의 여기 있습니다 .. requestAction을 무시하는 것 같다
AppController beforeFilter
public function beforeFilter(){
if($this->RequestHandler->isAjax()) {
echo $this->requestAction("https://stackoverflow.com/users/ajax_login", array('return'));
}else{
$this->redirect('/login');
}
}
ajax_login action
function ajax_login() {
$this->render('ajax_login', 'ajax');
}
<script type="text/javascript">
window.location = '<?php echo 'http://'.$_SERVER['HTTP_HOST'].$html->url('/login').'"'; ?>';
</script>;
ajax_login view
기본적으로이 아약스 레이아웃을 렌더링합니다. 그러나보기가 렌더링되지 않으므로 리디렉션이 작동하지 않습니다.
물론 ajax를 통해 호출되는 작업이 세션 만료로 인해 net::ERR_CONNECTION_RESET
이라는 오류를 발생시키기 때문에 오류가 발생합니다.