Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Летит все в тартарары при обнове страницы... (https://javascript.ru/forum/angular/57462-letit-vse-v-tartarary-pri-obnove-stranicy.html)

Boogie1989 04.08.2015 19:39

Летит все в тартарары при обнове страницы...
 
Есть код для логина написанный на Angular и Node https://github.com/fnakstad/angular-client-side-auth , мне нужно переделать серверную часть под c# Api, практически все переделал но есть одна проблема с которой ни как не могу справиться. При запуске приложение работает нормально, но только пытаюсь обновить страницу, так сразу 404. Может кто то сталкивался, или есть время просто помочь, буду очень благодарен!

ksa 05.08.2015 08:48

Цитата:

Сообщение от Boogie1989
сразу 404

Причем тут тогда Ангулар? :blink:

Boogie1989 05.08.2015 18:53

если закоментировать вот эту часть кода в файле app.js

$urlRouterProvider.rule(function ($injector, $location)
    {
      
        if($location.protocol() === 'file')
            return;

        var path = $location.path()
       
        // Note: misnomer. This returns a query object, not a search string
            , search = $location.search()
            , params
     
            ;

        // check to see if the path already ends in '/'
        if (path[path.length - 1] === '/') {
            return;
        }

        // If there was no search string / query params, return with a `/`
        if (Object.keys(search).length === 0) {
            return path + '/';
        }

        // Otherwise build the search string and return a `/?` prefix
        params = [];
        angular.forEach(search, function(v, k){
            params.push(k + '=' + v);
        });
        return path + '/?' + params.join('&');
    });

    $locationProvider.html5Mode(true);

    $httpProvider.interceptors.push(function($q, $location) {
        return {
            'responseError': function(response) {
                if(response.status === 401 || response.status === 403) {
                    $location.path('/login');
                }
                return $q.reject(response);
            }
        };
    });

}])

.run(['$rootScope', '$state', 'Auth', function ($rootScope, $state, Auth) {

    $rootScope.$on("$stateChangeStart", function (event, toState, toParams, fromState, fromParams) {
        
        if(!('data' in toState) || !('access' in toState.data)){
            $rootScope.error = "Access undefined for this state";
            event.preventDefault();
        }
        else if (!Auth.authorize(toState.data.access)) {
            $rootScope.error = "Seems like you tried accessing a route you don't have access to...";
            event.preventDefault();

            if(fromState.url === '^') {
                if(Auth.isLoggedIn()) {
                    $state.go('user.home');
                } else {
                    $rootScope.error = null;
                    $state.go('anon.login');
                }
            }
        }
    });

то начинает работать почти что нормально

Shitbox2 13.08.2015 23:12

Потом в этом куске нужно закомментировать еще часть, чтобы всё работало почти нормально, потом еще часть и ещё. Пока не обнаружится строчка которая всё ломает. Потом вбить эту строчку в Гугл и получить ответ. Проверенный способ :-)


Часовой пояс GMT +3, время: 14:24.