html5Mode给出错误

时间:2016-01-08 20:12:31

标签: javascript angularjs

我正在尝试删除网址中的#以清除它。我做了每个人都要做的事情:

demoApp.config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider) { 

        // Système de routage
        $routeProvider
        .when('/home', {
            templateUrl: 'pages/home.html',
            controller: 'homeCtrl'
        })
        .when('/contact/:msg?', {
            templateUrl: 'pages/contact.html',
            controller: 'contactCtrl'
        })
        .when('/todolist', {
            templateUrl: 'pages/todolist.html',
            controller: 'listeCtrl'
        })
        .when('/testfiltre', {
            templateUrl: 'pages/testfiltre.html',
            controller: 'demoFiltreCtrl'
        })
        .when('/testCreationfiltre', {
            templateUrl: 'pages/testcreationfiltre.html',
            controller: 'demoCreationFiltreCtrl'
        })
        .otherwise({
            redirectTo: '/home'
        });

        $locationProvider.html5Mode(true);
    }
]);

HTML文件:

<head>
    <meta charset="utf-8" />
    <title>Demo App</title>        
    <link rel="stylesheet" href="web/css/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular-route.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.4.2/angular-locale_fr-ca.min.js"></script>
    <script src="js/script.js"></script>
    <base href="/">
</head>

当我这样做时,它给了我一堆错误,我真的很喜欢并没有找到解决方案。我的网址由于某种原因变得像这样:

file:///C:/Users/......../index.html#%252525252525252525252Fhome

insted of

file:///C:/Users/......../index.html/home

它会出现如下错误:

  

错误:操作不安全。

     

错误:访问受限制的URI被拒绝

     

错误:[$ compile:tpload]无法加载模板:pages / home.html(HTTP状态:未定义未定义)   http://errors.angularjs.org/1.4.2/ $编译/ tpload P0 =页%2Fhome.html&安培; P1 =未定义&安培; P2 =未定义

     

错误:操作不安全。

     

错误:[$ rootScope:infdig] 10 $ digest()迭代达成。中止!

     

错误:操作不安全。

...

2 个答案:

答案 0 :(得分:0)

有一件事我注意到你原谅了otherwise陈述。同样奇怪的是,你的观点被试图加载file协议。

作为建议:考虑使用ui-router代替ng-route,因为它具有更好的功能,对嵌套视图的大力支持(您的视图&树可以根据需要更深)并命名视图和它不像ng-route

那样错误

答案 1 :(得分:0)

这是一篇很好的文章,描述了如何从网址中删除#

http://www.codeproject.com/Tips/1063634/Removing-the-sharp-Sign-from-AngularJS-URLs-with-I