2014-02-20 2 views
0

В моем текущем проекте заголовок загружается только один раз. весь остальной проект добавляет и удаляет Windows с помощью метода AJAX.Перенаправить страницу без использования заголовка

Все работает отлично, за исключением одной детали, так как я не могу изменить заголовок (страница всегда загружается). Как я могу перенести клиента на экран входа в систему, если его сеанс истек?

До сих пор я использую (в моем классе сессии):

public function LoginRedirect() { 
//This function will redirect the user to the login page if the session is not valid. Will send GET Reason. 
    $urlMessage = rawurlencode(utf8_encode($this->ErrMsg)); 
    echo '<script language="javascript"> window.location = "' . $this->RedirectURL . '?ErrMsg=' . $urlMessage . '";</script>'; 
} 

Но я не как с помощью Javascript перенаправить страницу на экран входа в систему. Можно ли использовать другой трюк?

Спасибо

+0

Вы могли бы построить модуль Apache управления сеансом в CI догадка и есть которые касаются сессий и перенаправлений ... не уверен, что я рекомендовал бы это, хотя это похоже на перебор: P – CD001

ответ

0

Если вы не хотите использовать заголовки, вы можете установить <meta> тег, чтобы сделать перенаправление:

$newURL = $this->RedirectURL.'?ErrMsg='.$urlMessage; 
echo '<meta http-equiv="refresh" content="0;url='.$newURL.'">'; 
+0

Могу ли я использовать мета за пределами документа? Поскольку мой документ уже загружен, а проверка выполняется с помощью AJAX) –

+0

Было бы *** технически *** быть недопустимой разметкой, но браузеры разработали способы интерпретировать сломанную разметку, чтобы вы могли *** использовать ее, но рекомендуется использовать их в элементе головы. Вы можете узнать больше об этом здесь: http://stackoverflow.com/questions/1447842/what-happens-if-the-meta-tags-are-present-in-the-document-body Переадресация JavaScript может быть вашим лучшим вариантом , – Anonymous

+0

Спасибо, что я подумал, я попытаюсь сделать другой способ сделать это, если смогу. Я хотел бы остаться «xhtml strict» полностью! Но вы ответили на мой вопрос. –

Смежные вопросы