引发RangeError:超过最大调用堆栈大小(AngularJS) [英] RangeError: Maximum call stack size exceeded (AngularJS)

查看:2296
本文介绍了引发RangeError:超过最大调用堆栈大小(AngularJS)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图开发使用AngularJS的Web应用程序。我无法路由的Web页面使用ngRoute。我在瓶蟒蛇框架,它不引发错误的这部分编写的Web服务器。浏览器控制台显示该straneg错误,我不能够调试说的RangeError:最大调用堆栈大小超过。以下是code片段和控制台堆栈跟踪。

app.js

  VAR应用= angular.module('tslApp',['ngRoute','数据表','ngCookies']);app.constant('AUTH_EVENTS',{
      loginSuccess:身份验证登录,成功',
      loginFailed:身份验证登录-失败',
      logoutSuccess:AUTH-注销-成功',
      sessionTimeout:AUTH会话超时,
      notAuthenticated:AUTH-不进行身份验证',
      notAuthorized:AUTH-没有授权'
})app.run(函数($ rootScope,$位置,AUTH_EVENTS,$的CookieStore,$ HTTP,$ Q $超时){
    $ rootScope.flag = FALSE;
    $ rootScope。在('$ routeChangeStart',函数(EVT,absNewUrl,absOldUrl){$
        $ cookieStore.get(AUTH_EVENTS);
        如果($ rootScope.AUTH_EVENTS = AUTH_EVENTS.loginSuccess和放大器;!&安培;!$ cookieStore.get(AUTH_EVENTS)){
            //console.log($rootScope.AUTH_EVENTS);
            $ location.path('/');
            // $ route.reload();
        }
        如果(absNewUrl $$ route.originalPath =='/仪表板'和;&安培; $ rootScope.flag == FALSE){
            $ rootScope.flag = TRUE;
        }
            //这里你可以检查自己的条件,如果没有再设置$ location.path(LOGINPATH)记录;
      });
});

route.js

 的app.config(函数($ routeProvider){
    $ routeProvider
        。什么时候('/', {
            templateUrl:/assets/app/partials/login.html',
            控制器:'loginCtrl
        })
        。当('/仪表板',{
            templateUrl:/assets/app/partials/main.html
        })
        。除此以外({
            redirectTo:'/'
        });
});

loginCtrl.js

  app.controller('loginCtrl',['$范围,$ rootScope','loginFactory',函数($范围,$ rootScope,loginFactory){
    $(函数(){
        $('#切换登录')。点击(函数(){
            $('#登录)切换()。
        });
    })
    $ scope.errormessage =新的对象();
    $ scope.successMessage =新的对象();
    $ scope.errormessage.isError = FALSE;
    $ scope.successMessage.isSuccess = FALSE;
    $ rootScope.AUTH_EVENTS =AUTH-不授权;
    $ scope.login =功能(凭证){
        的console.log(凭证);
        loginFactory.login(凭证);
    }
}])

loginFactory.js

  app.factory('loginFactory',['$ HTTP,$ Q','$ rootScope','AUTH_EVENTS','$的位置,$的CookieStore',功能($ HTTP,$ q $ rootScope,AUTH_EVENTS,$位置$的CookieStore){
    变种loginData = {};    loginData.login =功能(凭证){
        变量$承诺= $ http.post('/登录,证书); //将数据发送到server.py
        $ promise.then(函数(MSG){
            的console.log(味精);
            如果(msg.data =='成功'){
                $ rootScope.AUTH_EVENTS = AUTH_EVENTS.loginSuccess;
                $ cookieStore.put(AUTH_EVENTS,AUTH_EVENTS.loginSuccess);
                $ location.path('/仪表盘);
            }其他{
                $ rootScope.AUTH_EVENTS = AUTH_EVENTS.loginFailed;
                scope.errormessage.isError = TRUE;
                scope.errormessage.msg =错误的用户名和密码;
                的console.log(失败1);
            }
        },函数(){
            $ rootScope.AUTH_EVENTS = AUTH_EVENTS.loginFailed;
            的console.log(失败2);
        });
    }
    返回loginData;
}])

console.output和错误:

 对象{用户名:CDCD,密码:cdcdc}
loginFactory.js:7 {对象数据:成功,状态:200,配置:对象,状态文本:OK}
angular.js:11383的RangeError:最大调用堆栈大小超过
    在invokeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:8127:30)
    在nodeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:7637:11)
    在compositeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:6993:13)
    在compositeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:6996:13)
    在compositeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:6996:13)
    在compositeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:6996:13)
    在publicLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:6872:30)
    在的连结(http://本地主机:7000 /资产/ JS /角route.min.js:7:388)
    在invokeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:8125:9)
    在nodeLinkFn(HTTP://本地主机:7000 /资产/ JS / angular.js:7637:11)< D​​IV NG-视图=级=NG-范围>(匿名函数)@ angular.js: 11383(匿名函数)@ angular.js:8459invokeLinkFn @ angular.js:8127nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular- route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js: 6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js: 7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @棱角分明。 JS:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @棱角分明。 JS:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js: 6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js: 7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @棱角分明。 JS:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @棱角分明。 JS:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js: 6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js: 6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @棱角分明。 JS:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @棱角分明。 JS:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js: 6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js: 6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @棱角分明。 JS:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @棱角分明。 JS:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664
VM101:1122<错误> InjectedScript._isHTMLAllCollection @ VM101:1122InjectedScript.isPrimitiveValue @ VM101:285InjectedScript.RemoteObject @ VM101:1251InjectedScript._wrapObject @ VM101:387InjectedScript.wrapObject @ VM101:298(匿名函数)@ angular.js:11383(匿名功能)@ angular.js:8459invokeLinkFn @ angular.js:8127nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js :865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js :6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角路线.js文件:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @角.js文件:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角-route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js :6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js :7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @角.js文件:// @ 6996publicLinkFn angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @角.js文件:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js :6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js :7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @角.js文件:// @ 6996compositeLinkFn angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @角.js文件:// @ 7011controllersBoundTransclude angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js :6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js :6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @角.js文件:// @ 6996compositeLinkFn angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @角.js文件:// @ 6872boundTranscludeFn angular.js:7011controllersBoundTransclude @ angular.js:7664v @角route.js:865link @角route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @角route.js:915invokeLinkFn @ angular.js:8125
5VM101:1122<错误>


解决方案

通常当处于低于code创建了路由环路会出现此错误

  app.run(函数($ rootScope,$位置,AUTH_EVENTS,$的CookieStore,$ HTTP,$ Q $超时){
$ rootScope.flag = FALSE;
$ rootScope。在('$ routeChangeStart',函数(EVT,absNewUrl,absOldUrl){$
    $ cookieStore.get(AUTH_EVENTS);
    如果($ rootScope.AUTH_EVENTS = AUTH_EVENTS.loginSuccess和放大器;!&安培;!$ cookieStore.get(AUTH_EVENTS)){
        //console.log($rootScope.AUTH_EVENTS);
        $ location.path('/');
        // $ route.reload();
    }
    如果(absNewUrl $$ route.originalPath =='/仪表板'和;&安培; $ rootScope.flag == FALSE){
        $ rootScope.flag = TRUE;
    }
        //这里你可以检查自己的条件,如果没有再设置$ location.path(LOGINPATH)记录;
  });
});

您可能会被重定向到从loginfactory并且由于一些条件它是被一次又一次的在处理$ routeChangeStart事件的路线

I am trying to develop a web application using AngularJS. I am not able to route the web pages using ngRoute. I have written web server in Bottle python framework, which throws no error on this part. The browser console shows this straneg error which I am not able to debug saying "RangeError: Maximum Call Stack Size Exceeded". Following are the code snippets and console stack trace.

app.js

var app = angular.module('tslApp', ['ngRoute','datatables','ngCookies']);

app.constant('AUTH_EVENTS', {
      loginSuccess: 'auth-login-success',
      loginFailed: 'auth-login-failed',
      logoutSuccess: 'auth-logout-success',
      sessionTimeout: 'auth-session-timeout',
      notAuthenticated: 'auth-not-authenticated',
      notAuthorized: 'auth-not-authorized'
})

app.run(function ($rootScope,$location,AUTH_EVENTS,$cookieStore,$http,$q,$timeout) {
    $rootScope.flag = false;
    $rootScope.$on('$routeChangeStart', function(evt, absNewUrl, absOldUrl) {
        $cookieStore.get(AUTH_EVENTS);
        if($rootScope.AUTH_EVENTS != AUTH_EVENTS.loginSuccess && !$cookieStore.get(AUTH_EVENTS)){    
            //console.log($rootScope.AUTH_EVENTS);
            $location.path('/');
            //$route.reload();
        }
        if(absNewUrl.$$route.originalPath == '/dashboard' && $rootScope.flag == false){
            $rootScope.flag = true;
        }
            //here you can check for your own condition and if not logged in then set $location.path(loginpath);
      });
});

route.js

app.config(function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl : '/assets/app/partials/login.html',
            controller : 'loginCtrl'
        })         
        .when('/dashboard', {
            templateUrl : '/assets/app/partials/main.html'
        })
        .otherwise({
            redirectTo: '/'
        });
});

loginCtrl.js

app.controller('loginCtrl', ['$scope','$rootScope', 'loginFactory', function($scope, $rootScope, loginFactory) {
    $(function() {
        $('#toggle-login').click(function() {
            $('#login').toggle();
        });
    })
    $scope.errormessage = new Object();
    $scope.successMessage = new Object();
    $scope.errormessage.isError = false;
    $scope.successMessage.isSuccess = false;
    $rootScope.AUTH_EVENTS = "auth-not-authorized";
    $scope.login = function(credentials) {
        console.log(credentials);
        loginFactory.login(credentials);
    }
}])

loginFactory.js

app.factory('loginFactory', ['$http', '$q','$rootScope','AUTH_EVENTS' ,'$location','$cookieStore', function ($http,$q,$rootScope,AUTH_EVENTS,$location,$cookieStore) {
    var loginData = {};

    loginData.login = function(credentials) {
        var $promise = $http.post('/login', credentials); //send data to server.py
        $promise.then(function(msg) {
            console.log(msg);
            if (msg.data == 'success') {
                $rootScope.AUTH_EVENTS = AUTH_EVENTS.loginSuccess;
                $cookieStore.put(AUTH_EVENTS, AUTH_EVENTS.loginSuccess);
                $location.path('/dashboard');
            } else {
                $rootScope.AUTH_EVENTS = AUTH_EVENTS.loginFailed;
                scope.errormessage.isError = true;
                scope.errormessage.msg = "Wrong username and password";
                console.log("failed 1");
            }
        }, function() {
            $rootScope.AUTH_EVENTS = AUTH_EVENTS.loginFailed;
            console.log("failed 2");
        });
    }
    return loginData;
}])

console.output and errors:

Object {username: "cdcd", password: "cdcdc"}
loginFactory.js:7 Object {data: "success", status: 200, config: Object, statusText: "OK"}
angular.js:11383 RangeError: Maximum call stack size exceeded
    at invokeLinkFn (http://localhost:7000/assets/js/angular.js:8127:30)
    at nodeLinkFn (http://localhost:7000/assets/js/angular.js:7637:11)
    at compositeLinkFn (http://localhost:7000/assets/js/angular.js:6993:13)
    at compositeLinkFn (http://localhost:7000/assets/js/angular.js:6996:13)
    at compositeLinkFn (http://localhost:7000/assets/js/angular.js:6996:13)
    at compositeLinkFn (http://localhost:7000/assets/js/angular.js:6996:13)
    at publicLinkFn (http://localhost:7000/assets/js/angular.js:6872:30)
    at link (http://localhost:7000/assets/js/angular-route.min.js:7:388)
    at invokeLinkFn (http://localhost:7000/assets/js/angular.js:8125:9)
    at nodeLinkFn (http://localhost:7000/assets/js/angular.js:7637:11) <div ng-view="" class="ng-scope">(anonymous function) @ angular.js:11383(anonymous function) @ angular.js:8459invokeLinkFn @ angular.js:8127nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664
VM101:1122 <error>InjectedScript._isHTMLAllCollection @ VM101:1122InjectedScript.isPrimitiveValue @ VM101:285InjectedScript.RemoteObject @ VM101:1251InjectedScript._wrapObject @ VM101:387InjectedScript.wrapObject @ VM101:298(anonymous function) @ angular.js:11383(anonymous function) @ angular.js:8459invokeLinkFn @ angular.js:8127nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993publicLinkFn @ angular.js:6872boundTranscludeFn @ angular.js:7011controllersBoundTransclude @ angular.js:7664v @ angular-route.js:865link @ angular-route.js:831invokeLinkFn @ angular.js:8125nodeLinkFn @ angular.js:7637compositeLinkFn @ angular.js:6993compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996compositeLinkFn @ angular.js:6996publicLinkFn @ angular.js:6872link @ angular-route.js:915invokeLinkFn @ angular.js:8125
5VM101:1122 <error>

解决方案

This error usually occurs when there is a route loop created at the below code

app.run(function ($rootScope,$location,AUTH_EVENTS,$cookieStore,$http,$q,$timeout) {
$rootScope.flag = false;
$rootScope.$on('$routeChangeStart', function(evt, absNewUrl, absOldUrl) {
    $cookieStore.get(AUTH_EVENTS);
    if($rootScope.AUTH_EVENTS != AUTH_EVENTS.loginSuccess && !$cookieStore.get(AUTH_EVENTS)){    
        //console.log($rootScope.AUTH_EVENTS);
        $location.path('/');
        //$route.reload();
    }
    if(absNewUrl.$$route.originalPath == '/dashboard' && $rootScope.flag == false){
        $rootScope.flag = true;
    }
        //here you can check for your own condition and if not logged in then set $location.path(loginpath);
  });
});

You might be redirecting to a route from loginfactory and due to some condition it is being processed again and again at $routeChangeStart event

这篇关于引发RangeError:超过最大调用堆栈大小(AngularJS)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆