我正在尝试删除网址中的#以清除它。我做了每个人都要做的事情:
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()迭代达成。中止!
错误:操作不安全。
...
答案 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