loginjs登录成功后重定向主页错误

时间:2016-08-21 03:14:39

标签: javascript angularjs angular-ui-router

当登录成功并且页面将重定向主页时,我使用$state.go('home'),但控制台错误enter image description here 实际上浏览器网址已更改http://127.0.0.1:4000/#/home 我不知道如何解决。

  • userService.js

    angular.module('app')
    .factory('userService', ['$http', '$q', function($http, $q) {
    
    
        function retrieveInstance(type, json) {
            var instance = cache[type];
    
            if (instance) {
                instance.setProperties(json);
                cache[type] = instance;
            }
            return instance;
        }
    
        return {
    
            login: function(username, password) {
                var deferred = $q.defer();
                var data = {
                    username: username,
                    password: password
                };
    
                var noramlUrl = '/login/';
    
                $http.post(serverUrl + noramlUrl, data)
    
                .success(function(jsonObj) {
                        if (jsonObj.isSucc) {
                            console.log(jsonObj.msg);
                            deferred.resolve(jsonObj);
                        } else {
                            deferred.reject();
                        }
    
                    })
                    .error(function() {
                        console.log("login error!");
                        deferred.reject();
                    });
    
                return deferred.promise;
    
            },
        };
    
    }]);
    
  • app.js

    angular.module('app', [
        'ngMaterial',
        'ngMessages',
        'material.svgAssetsCache',
        'ui.router',
        'oc.lazyLoad'
    ])
    .config(['$stateProvider', '$urlRouterProvider',        
        '$ocLazyLoadProvider',
        function($stateProvider, $urlRouterProvider, $ocLazyLoadProvider)  
        {
            $ocLazyLoadProvider.config({
                debug: true,
                catch: true,
                events: true,
                // modules: {
                //  name: '',
                //  files: []
                // }
            });
            $urlRouterProvider.otherwise('/home');
            $stateProvider.state('home', {
                    url: '/home',
                    controller: 'homeCtrl',
                    templateUrl: 'home/template/home.tpl.html',
                    resolve: {
                        load: ['$ocLazyLoad', function($ocLazyLoad) {
                            return $ocLazyLoad.load([
                                'home/controller/home.ctrl.js',
                                'home/css/home.css',
                                'common/css/common.css'
                            ]);
                        }]
                    }
                })
                .state('login', {
                    url: '/login',
                    controller: 'loginCtrl',
                    templateUrl: 'login/template/login.tpl.html',
                    resolve: {
                        load: ['$ocLazyLoad', function($ocLazyLoad) {
                            return $ocLazyLoad.load([
                                'login/controller/login.ctrl.js',
                                'login/service/userService.js',
                                'common/css/common.css',
                                'login/css/login.css'
                            ]);
                        }]
                    }
                });
        }
    ]);
    
    var serverUrl = 'http://192.168.31.159:8080';
    
    angular.element(document).ready(function() {
    angular.bootstrap(document, ['app']);
    });
    
                        catch: true,
                        events: true,
                        // modules: {
                        //  name: '',
                        //  files: []
                        // }
                    });
                    $urlRouterProvider.otherwise('/home');
                    $stateProvider.state('home', {
                            url: '/home',
                            controller: 'homeCtrl',
                            templateUrl: 'home/template/home.tpl.html',
                            resolve: {
                                load: ['$ocLazyLoad',
                                  function($ocLazyLoad) {
                                    return $ocLazyLoad.load([
                                        'home/controller/home.ctrl.js',
                                        'home/css/home.css',
                                        'common/css/common.css'
                                    ]);
                                }]
                            }
                        })
                        .state('login', {
                            url: '/login',
                            controller: 'loginCtrl',
                            templateUrl: 'login/template/login.tpl.html',
                            resolve: {
                                load: ['$ocLazyLoad', 
                                  function($ocLazyLoad) {
                                    return $ocLazyLoad.load([
                                        'login/controller/login.ctrl.js',
                                        'login/service/userService.js',
                                        'common/css/common.css',
                                        'login/css/login.css'
                                    ]);
                                }]
                            }
                        });
                }
            ]);
    
        var serverUrl = 'http://192.168.31.159:8080';
    
        angular.element(document).ready(function() {
            angular.bootstrap(document, ['app']);
        });
    
  • login.ctrl.js

    angular.module('app', [])
    
       .controller('loginCtrl', ['$scope', '$state', '$http', '$q', 
           'userService', function($scope, $state, $http, $q,  
        userService) {
           $scope.name = "login.ctrl Module";
           console.log($scope.name);
    
    
        $scope.login = function() {
            userService.login($scope.username, 
            $scope.password).then(function(json) {
                if (json.isSucc) {
                    console.log(json.isSucc);
                    $state.go('home');
                }
            }, function() {
                console.log("login error !");
            });
        };
    
    }]);
    

0 个答案:

没有答案