AngularJS $cookieStore перестал работать

Этим утром, когда я пришел на работу и запустил свое приложение, оно внезапно перестало работать. Я проследил проблему до $ cookieStore не работает.

Кто-нибудь сталкивался с такой же проблемой раньше? Я немного растерялся, что искать проблему, как вы можете видеть из моей консоли после того, как я добавил прерывание отладки. CookieStore ничего не сохраняет:

введите описание изображения здесь

Изменить: Еще немного информации: я тестировал одно и то же приложение на другом ПК, и оно делает то же самое в Chrome или IE. Поэтому я пришел к выводу, что мои библиотеки могут быть сломаны. Поэтому я заново загрузил 1.4.9 Angular и ngCookies. И это все еще делает то же самое, никакие куки не пишутся. У меня была более старая онлайн-версия, которая, кажется, работает нормально и пишет куки. Как я могу сравнить целые папки со всеми файлами и папками, чтобы определить причину проблемы? Я думаю, что библиотека сломала это. Ничто в моем Версионном контроле не показывает код, влияющий на куки в любом случае

Мой логин контроллер:

app.controller('LoginController', function ($rootScope, $scope, $cookieStore, $state, AuthenticationService, $timeout, $http, apiserv) {

        $scope.dataLoading = false;         
        $scope.error = $rootScope.message;
        $rootScope.globals = [];
        $cookieStore.remove('globals');
        $cookieStore.remove('auth');

        $scope.login = function () {
            $scope.dataLoading = true;
            var url = apiserv + "api.login.php?username=" + $scope.username + "&password="+$scope.password;
            $http({url: url}).then(function (rs) {
                console.log(rs.data);
                if (rs.data.success) {
                    var auth = rs.data.auth;
                    $rootScope.globals = {
                        currentUser: rs.data
                    };
                    $cookieStore.put('globals', $rootScope.globals);
                    $cookieStore.put('auth', auth);
                    debugger; // Where I took the above screenshot
                    $state.go('app.sites');
                } else {
                    $scope.error = rs.data.message;
                    $scope.dataLoading = false;
                }
            });

        };
    }
);

1 ответ

Я нашел проблему. Я добавил эту строку в свой index.html, и он сломал куки

<script>document.write('<base href="' + document.location + '" />');</script>

НЕ ИСПОЛЬЗУЙТЕ БАЗУ... обратите внимание на себя (все БАЗЫ не принадлежат нам:)

Другие вопросы по тегам