Angular Route无限循环,我认为

时间:2016-04-09 23:27:34

标签: angularjs asp.net-web-api

所以基本上问题是,当我打开页面时,它只会冻结并使用30%的CPU(4核CPU以及整个核心),无法点击页面上的任何内容甚至调出F12。

如果它是一个在加载时有数据请求的页面,那么我可以在小提琴手中看到它是垃圾邮件,这让我觉得它在某种程度上无限循环。然而我昨晚没有遇到这个问题,所以我决定回滚到最新的版本,这个问题仍然存在,这让我觉得它可能不是Angular Router,因为我之前没有改变它我最后一次提交。以下是我的路由设置。 您可能会注意到路由的某些路径有些不同,我试图查看这是否是问题,但每个路径都会导致问题

这是作为服务器和Angular 1.5在ASP.NET Web Api 2上运行的。

.config(function($routeProvider, $locationProvider) {
    $routeProvider.when('/TimeFeed',
        {
            templateUrl: '/View/Templates/TimeFeed.html',
            controller: 'timeFeedController'
        }
    );
    $routeProvider.when('/CharacterLookup',
        {
            templateUrl: '/View/Templates/CharacterLookup.html',
            controller: 'characterLookupController'
        }
    );
    $routeProvider.when('/RealmStatus',
        {
            templateUrl: '/View/Templates/RealmStatus.html',
            controller: 'realmStatusController'
        }
    );
    $routeProvider.when('/ContactUs',
        {
            templateUrl: '/View/Templates/ContactUs.html',
            controller: 'contactUsController'
        }
    );
    $locationProvider.html5Mode(true);
    $routeProvider.otherwise({ redirectTo: '/CharacterLookup' });
});

知道是什么原因引起的吗?如果它不是我的路由设置?

更新:这是它失败的控制器之一

App.controller(' contactUsController&#39 ;,     function contactUsController($ scope,$ http){

    $scope.subject = "";
    $scope.message = "";
    $scope.isLoading = false;
    $scope.disableSend = false;
    $scope.alerts = [];
    $scope.closeAlert = function (index) {
        $scope.alerts.splice(index, 1);
    };

    $scope.sendMessage = function () {
        $scope.disableSend = true;
        $scope.isLoading = true;
        var url = "/api/Tools/SendEmailToAdmin?subject=" + $scope.subject + "&message="+$scope.message;
        var data = $.param({
            subject: $scope.subject,
            message: $scope.message
        });
        var config = {
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
            }
        }

        $http.post(url, config)
            .then(function(response) {
                $scope.subject = "";
                $scope.message = "";
                $scope.alerts.push({
                    type: 'success',
                    msg: 'Message successfully sent'
                })
            }, function(response) {
                $scope.alerts.push({
                    type: 'danger',
                    msg: 'Message failed to send sent'
                });
                console.error("failed to get data");
            }).finally(function() {
                $scope.isLoading = false;
                $scope.disableSend = false;
            });
    }
});

使用我正在尝试的内容更新路线

下面的屏幕截图是在我尝试在Firefox中加载时发生的。正如你所看到的,它每次都会在页面内重复页面

enter image description here

更新
好吧,我发现了问题。前段时间我改变了我的文件结构以便整理一下,我错过了更改我的一个指令的模板路径但是因为当你在chrome中点击ctrl f5时它会重新加载文件“'拉出来,所以我今天猜测文件确实重新加载,路径不正确,导致角度有一个spaz。我希望Angular会告诉你实际发生了什么而不仅仅是崩溃

1 个答案:

答案 0 :(得分:0)

也许你需要改变这个

$louteProvider.when('/ContactUs',

到这个

$routeProvider.when('/ContactUs',