如何从angularjs中的url中删除'#'
Posted
技术标签:
【中文标题】如何从angularjs中的url中删除\'#\'【英文标题】:how to remove '#' from url in angularjs如何从angularjs中的url中删除'#' 【发布时间】:2016-06-23 10:38:15 【问题描述】:我的网址:eDemo/admin/test/list/#/list
我想要:eDemo/admin/test/list
js:
var serviceBase ="http://admin-pc/eDemo/admin/test/";
function config($routeProvider, $locationProvider)
$routeProvider
.when('/add',
controller: 'addController',
templateUrl: serviceBase + 'add',
controllerAs: 'vm',
)
.when('/edit',
controller: 'editController',
templateUrl: serviceBase + 'edit',
controllerAs: 'vm',
)
.otherwise( redirectTo : 'list' );
html:
<div class='ng-view'></div>
【问题讨论】:
scotch.io/tutorials/… @DeepKakkar ..您最好复制链接代码的主要部分并在答案部分发布..它将删除该链接的依赖性,问题将在这里得到答案.. 【参考方案1】:您只需在路由提供程序配置中添加html5Mode(true)
。
确保您将参数 $locationProvider 作为参数传递给 config 函数。
这里是示例 js 代码:
var serviceBase ="http://admin-pc/eDemo/admin/test/";
app.config(['$routeProvider','$locationProvider',
function ($routeProvider,$locationProvider)
$routeProvider
.when('/add',
controller: 'addController',
templateUrl: serviceBase + 'add',
controllerAs: 'vm',
)
.when('/edit',
controller: 'editController',
templateUrl: serviceBase + 'edit',
controllerAs: 'vm',
)
.otherwise( redirectTo : 'list' );
$locationProvider.html5Mode(true);
您的 HTML 应该如下所示:
<div class='ng-view'>
<base href="<?=url('/').'/'?>">
</div>
另外请记住,永远不要在任何类型的 url 中传递 #
,例如重定向、通过 AJAX 或任何地方提交表单。
【讨论】:
【参考方案2】:在路线使用结束时:
$locationProvider.html5Mode(true);
这应该是:
var serviceBase ="http://admin-pc/eDemo/admin/test/";
function config($routeProvider, $locationProvider)
$routeProvider
.when('/add',
controller: 'addController',
templateUrl: serviceBase + 'add',
controllerAs: 'vm',
)
.when('/edit',
controller: 'editController',
templateUrl: serviceBase + 'edit',
controllerAs: 'vm',
)
$locationProvider.html5Mode(true);
在查看文件中:
<head>
<meta charset="utf-8">
<base href="/">
</head>
【讨论】:
【参考方案3】:你可以像这样使用 $locationProvider
$locationProvider.html5Mode(
enabled: true,
requireBase: false
);
【讨论】:
以上是关于如何从angularjs中的url中删除'#'的主要内容,如果未能解决你的问题,请参考以下文章
从 AngularJS url 中删除片段标识符(# 符号)
在 .run 在路由中从 Angularjs 中的 url 中删除 #