AngularJS html5mode URL无法正常工作

时间:2016-09-12 14:31:04

标签: javascript angularjs angular-routing html5mode

我有一个简单的AngularJS应用程序,其中没有与nodeJS相关的代码。从网址中删除#时我遇到了问题。我用ui-routes进行路由。

'use strict';
var app = angular.module('myapp', ['ui-router']).
        config(['$stateProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
               $locationProvider.html5Mode(true);
                $stateProvider.
                        state('home', {
                            url: '/',
                            templateUrl: 'views/index.html'
                        })
                        .state('where-am-i', {
                            url: '/where-am-i',
                            templateUrl: 'views/where_am_i.html',
                            controller: 'mainCtrl'
                        })
                        .state('audience', {
                            url: '/audience',
                            templateUrl: 'views/audience.html',
                            controller: 'mainCtrl'
                        });

            }]);

还在我的index.html的head部分添加了基本标记。

<base href='/' />

还尝试过不需要基础,但仍然无法使其正常工作。

$locationProvider.html5Mode({
            enabled: true,
            requireBase: false
        });

为index.html文件中包含的所有资产添加基本标记显示404。

需要一个快速而简单的解决方案。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

$locationProvider.html5Mode(true);之后添加一行,如下所示:

$locationProvider.hashPrefix('');

希望它能起作用。