Как я могу перезагрузить один раз, используя window.location.reload?

0

Я использую AngularJs для своего веб-приложения, и у меня проблемы с моим логином, единственным решением, которое я нашел, является перезагрузка страницы после входа в систему, но мне нужно только один раз, но теперь это бесконечный цикл. Как я могу использовать Window.location.reload() только один раз

Метод входа:

.success(function (data) {

        $scope.tokengenerated = data.token;

        $cookies.put('Username', UsernameValue);

        $cookies.put('Token', $scope.tokengenerated);

        $location.path("/incidents");
})
Теги:

2 ответа

1
Лучший ответ

При первом вызове своей страницы вы делаете это так:

wwww.example.com/mypage?reload=true

Затем вы используете Javascript для проверки наличия параметра:

if (location.search.indexOf('reload=true') != -1) {
    location.href = 'www.example.com/mypage'; // refresh the page, but no "reload" this time
}

Или используя Angular.js:

if ($location.search().reload === 'true') {
    $location.path('/mypage'); // refresh the page, but no "reload" this time
}

В качестве альтернативы, я думаю, вы можете проверить наличие файла cookie, который вы установили перед перезагрузкой страницы. Если файл cookie существует, и я хорошо понял, чего вы пытаетесь достичь, вы его не перезагружаете; если cookie не существует, вы его установите, а затем перезагрузите:

if (!$cookies.get('Token')) {
    // set cookies, do whatever you need here

    // reload it only once:
    $location.path("/incidents");
} else {
    // page was already loaded and everything is set
}
  • 0
    "reload = true", где используется? моя веб-страница www.example.com/login, а затем логин, отправленный мне www.example.com/incidents, и вот где у меня возникла проблема, и я пытаюсь перезагрузить
  • 0
    if ($location.search().reload === 'true') { $location.path('/mypage'); // refresh the page, but no "reload" this time } Я думаю, это на моем контроллере инцидентов?
Показать ещё 5 комментариев
0

Попробуйте это... Это работает!

var refresh = $window.localStorage.getItem('refresh');
console.log(refresh);
if (refresh===null){
    window.location.reload();
    $window.localStorage.setItem('refresh', "1");
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню