【问题标题】: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>

【问题讨论】:

  • @DeepKakkar ..您最好复制链接代码的主要部分并在答案部分发布..它将删除该链接的依赖性,问题将在这里得到答案..

标签: javascript php html angularjs .htaccess


【解决方案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
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多