如何从angularjs中的url中删除“#”

时间:2016-03-09 07:05:07

标签: javascript php html angularjs .htaccess

我的网址: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>

3 个答案:

答案 0 :(得分:2)

您只需在路由提供程序配置中添加Aclass即可。 确保将config函数上的参数$ locationProvider作为参数传递。

这里是我们的示例js代码:

html5Mode(true)

您的HTML应如下所示:

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);

}

另请注意,永远不要在任何网址中传递<div class='ng-view'> <base href="<?=url('/').'/'?>"> </div> ,例如重定向,您通过AJAX或任何地方提交表单。

答案 1 :(得分:1)

在路线使用结束时:

 $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>

答案 2 :(得分:1)

您可以像这样使用$ locationProvider

{{1}}