$ locationProvider.html5Mode (true) Probleme

been, das einige $ locationProvider Ausgaben beschäftigt, an denen ich gehaftet bin. Ich habe eine einfache Einzelseite. Aber ich erhalte den folgenden Fehler:

     TypeError: Cannot read property 'replace' of undefined
        at trimEmptyHash (angular.js:10551)
        at Object.$locationWatch (angular.js:11399)
        at Scope.$get.Scope.$digest (angular.js:14217)
        at Scope.$get.Scope.$apply (angular.js:14488)
        at bootstrapApply (angular.js:1449)
        at Object.invoke (angular.js:4182)
        at doBootstrap (angular.js:1447)
        at bootstrap (angular.js:1467)
        at angularInit (angular.js:1361)
        at HTMLDocument.<anonymous> (angular.js:26065)

Meine app.js-Datei ist ziemlich einfach ...

    var app = angular.module('app',
        [
            'ui.router'
        ]
    );

    app.config([
        '$stateProvider',
        '$httpProvider',
        '$locationProvider',
        '$urlRouterProvider',
        function ($stateProvider, $httpProvider, $locationProvider, $urlRouterProvider) {

            $locationProvider.hashPrefix('!');
            $locationProvider.html5Mode(true);

            $stateProvider
            .state('home',
            {
                url: '/',
                views: {
                    'aboutView':
                        {
                            template: function (params) {
                                console.log("home");
                                return 'home';
                            }
                        }
                }
            })
            .state('about',
            {
                url: '/about',
                views: {
                    'aboutView':
                        {
                            template: function (params) {
                                console.log('about')
                                return 'about';
                            }
                        }
                }
            })
            ;
        }
    ]);

Ich habe das<base href="http://localhost/apps/uiv8/" /> in meiner index.html Datei einstellen. Wenn ich also den $ locationProvider-Code auskommentiere, funktioniert alles im # -Modus. Ich kann ohne Probleme zu / # / about usw. gelangen. Sobald ich die $ locationProvider-Teile wieder einfügte, gab es nichts.

Ein bisschen mehr über meine Umgebung .... Wir haben die MVC von asp.net hier, und die route.config führt eine {* url} aus, um alle auf die Standardroute umzuleiten, und ich bin sogar so weit gegangen als Änderung von IIS mit URL umschreibt, um auf die Standardeinstellung zu senden, aber ich bekomme immer noch den Analysefehler oben.

Also, hat jemand eine Idee, was los ist?

anke, Ni

Antworten auf die Frage(4)

Ihre Antwort auf die Frage