Задать вопрос
@eldar_web

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

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

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

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