Я хочу сделать перенаправление, которое выполняет полную перезагрузку страницы, чтобы файлы cookie с моего веб-сервера обновлялись при загрузке страницы. window.location = "/#/Next"
и window.location.href = "/#/Next"
не работают, они выполняют маршрут Angular, который не попадает на сервер.
Как правильно выполнить полный запрос к серверу в контроллере Angular?
Ответы:
Для
<a>
тегов :Вам нужно наклеить
target="_self"
свой<a>
тегЕсть три случая, когда AngularJS выполнит полную перезагрузку страницы:
Пример:
<a href="https://stackoverflow.com/ext/link?a=b" target="_self">link</a>
Пример:
<a href="http://angularjs.org/">link</a>
Пример:
<a href="https://stackoverflow.com/not-my-base/link">link</a>
Используя javascript :
$location
Услуга позволяет изменять только URL; он не позволяет перезагружать страницу. Если вам необходимо изменить URL и перезагрузите страницу или перейдите на другую страницу, пожалуйста , используйте более низкий уровень API:$window.location.href
.Видеть:
источник
<a href="..." target="_self">
это то, что сработало для меня. Спасибо !У нас была такая же проблема при работе с JS-кодом (т.е. не с привязкой HTML). Вот как мы решили это:
При необходимости виртуально измените текущий URL-адрес через
$location
службу. Это может быть полезно, если ваш пункт назначения - это просто вариант текущего URL-адреса, чтобы вы могли воспользоваться$location
вспомогательными методами. Например, мы побежали$location.search(..., ...)
просто изменить значение параметра строки запроса.Создайте новый целевой URL, используя
$location.url()
при необходимости текущий . Чтобы работать, этот новый должен был включать все после схемы, домена и порта. Так, например, если вы хотите переехать в:http://yourdomain.com/YourAppFolder/YourAngularApp/#/YourArea/YourAction?culture=en
тогда вы должны установить URL как в:
var destinationUrl = '/YourAppFolder/YourAngularApp/#/YourArea/YourAction?culture=en';
(
'/'
тоже с ведущими ).Назначьте новый целевой URL на низком уровне :
$window.location.href = destinationUrl;
Принудительная перезагрузка, все еще на низком уровне:
$window.location.reload();
источник
После поиска и выполнения пробного сеанса я могу решить его, сначала указав URL-адрес, например
затем перезагрузите
источник
Я была такая же проблема. Когда использую
window.location
,$window.location
ни даже<a href="..." target="_self">
маршрут не обновляет страницу. Таким образом, используются кэшированные сервисы, чего я не хочу в своем приложении. Я решил это, добавивwindow.location.reload()
после,window.location
чтобы принудительно перезагрузить страницу после маршрутизации. Однако этот метод, похоже, загружает страницу дважды. Это может быть грязный трюк, но он работает. Вот как у меня это сейчас:источник
Попробуй это
источник