@eldar_web

Как перезагрузить страницу в приложении (Ruby on Rails) по истечению срока авторизации, если ты рендеришь шаблоны через ajax?

В приложении Ruby on Rails есть функция, которая перед каждым запросом в контроллер проверяет истекла ли срок сессии, и если да, то отправляем на страницу авторизации.
Но в приложении есть моменты, где рендерим шаблоны через jquery+ajax: $('element').load(url,data).
Так вот, по истечению срока при ajax-запросе выходит страница авторизации внутри запрошенного шаблона.
Как же можно (или правильно) перезагрузить страницу?
Есть один вариант: при каждом ajax-запросе дополнительно проверять из сервера срок сессии и принимать решение, но я думаю, что это не хороший вариант, возможно это единственный вариант.
  • Вопрос задан
  • 454 просмотра
Решения вопроса 1
@PavelFokeev
pavl1k.ru
> контроллер проверяет истекла ли срок сессии, и если да, то отправляем на страницу авторизации
а если isset($_POST['ajax']), то выводим ошибку/команду, а не хедер
и в js проверяем, что прислал ajax. если это команда на авторизацию, то обновляем страницу (которая выдаст хедер и отправит на /login)
window.location.href=window.location.href
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы