Как отловить редирект и перейти по нему в браузере?

Суть в том что когда гость заходит по урлу /cabinet/history у нас выполняется ajax-запрос на сервер чтобы получить историю заказов отдельным куском html. Это позволяет отобразить страницу еще до того как история будет готова. И вместо истории заказов мы показываем лоадер. Но есть проблема. Если гость не авторизован, то ему возвращается редирект при этом ajax-запросе. Нужно обнаружить эту ситуацию и перейти по редиректу. Сейчас вместо этого кусок, который должен отображать историю показывает результат редиректа (редирект идет на логина и получается, что сайт как бы дублируется). Форматом ответа может быть только html в данном случае. Как отловить редирект и перейти по нему в браузере, а не только этим куском html?введите сюда описание изображения


Ответы (1 шт):

Автор решения: Алексей Шиманский

то ему возвращается редирект при этом ajax-запросе

Это неправильная логика работы в принципе. Почему при запросе истории у вас возвращается редирект на логин?

Правильно будет при загрузке любой страницы вначале проверить юзера и его права, роли и доступ (обычно у всех сайтов есть единая точка доступа и там работает обработчик запросов и можно при init'e приложения это проверить). Если он гость - кинуть на страницу логина. Если не гость - то только тогда уже загружать страницу /cabinet/history.

→ Ссылка