@nikifovadim
Software Engineer

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

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

60b640d9cb633183931608.jpeg
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
проверяйте XMLHttpRequest.status, в котором будет 301, или что там у вас при редиректе.
и XMLHttpRequest.responseURL будет не пустым.

Но лучше переделать бек, если есть возможность. Чтобы отдавал неавторизованному 403 или возвращал в json что-то вроде {"status": "error", "msg": "Вы не авторизованы'"}.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы