Node.js 为什么express4和angularjs在浏览器上重写url?

Node.js 为什么express4和angularjs在浏览器上重写url?,node.js,angularjs,express,Node.js,Angularjs,Express,我做了一个演示来集成Express4和AngularJS 它很好用,就是这样 http://localhost:3000/ 在索引的ng视图中显示欢迎页面,以及 http://localhost:3000/#/users 在ng视图中显示用户页面 但是什么时候来 http://localhost:3000/#/users 加载页面后,浏览器上的url将更改为 http://localhost:3000/users 这不是正确的道路 我真的不知道为什么 无论如何,让它不改变 有人知道

我做了一个演示来集成Express4和AngularJS

它很好用,就是这样

http://localhost:3000/ 
在索引的ng视图中显示欢迎页面,以及

http://localhost:3000/#/users 
在ng视图中显示用户页面

但是什么时候来

http://localhost:3000/#/users 
加载页面后,浏览器上的url将更改为

http://localhost:3000/users
这不是正确的道路

我真的不知道为什么

无论如何,让它不改变

有人知道吗

app.js中的路由器:

var web=需要('./路由/web'); 应用程序使用(“/”,网络)

AngularJS app.js:

var app = angular.module('app', ['ngRoute', 'shopControllers']);

app.config(['$routeProvider', '$locationProvider',
    function ($routeProvider, $locationProvider) {
        $routeProvider
            .when('/', {
                templateUrl: '/views/tpl/welcome.html',
                controller: 'WelcomeCtrl'})
            .when('/users', {
                templateUrl: '/views/tpl/users.html',
                controller: 'UserListCtrl'})
            .otherwise({redirectTo: '/'});
        $locationProvider.html5Mode(true);
    }]);
AngularJS控制器:

var shopControllers = angular.module('shopControllers', []);

shopControllers.controller('WelcomeCtrl', ['$scope', '$routeParams',
    function($scope, $routeParams) {
        $scope.username = 'Conan_Z';
    }]);

shopControllers.controller('UserListCtrl', ['$scope', '$http',
    function($scope, $http) {
        $http.get('service/user/get.json?shopVipId=2').success(function(data) {
            $scope.users = data;
        });

        $scope.orderProp = 'age';
    }]);
AngularJS index.html:

    <div class="row">
        <div class=".col-lg-12">
            <div ng-view></div>
        </div>
    </div>

删除下面的这一行, 这基本上消除了#对于支持html5的web浏览器来说,这不是一件坏事,但最好是在兼容性问题上有#

$locationProvider.html5Mode(true);
删除下面的这一行, 这基本上消除了#对于支持html5的web浏览器来说,这不是一件坏事,但最好是在兼容性问题上有#

$locationProvider.html5Mode(true);
删除下面的这一行, 这基本上消除了#对于支持html5的web浏览器来说,这不是一件坏事,但最好是在兼容性问题上有#

$locationProvider.html5Mode(true);
删除下面的这一行, 这基本上消除了#对于支持html5的web浏览器来说,这不是一件坏事,但最好是在兼容性问题上有#

$locationProvider.html5Mode(true);

这与express无关

这是因为angular js位置提供程序正在使用历史API

在您的路线中删除

 $locationProvider.html5Mode(true);

这将解决您的问题。

这与express无关

这是因为angular js位置提供程序正在使用历史API

在您的路线中删除

 $locationProvider.html5Mode(true);

这将解决您的问题。

这与express无关

这是因为angular js位置提供程序正在使用历史API

在您的路线中删除

 $locationProvider.html5Mode(true);

这将解决您的问题。

这与express无关

这是因为angular js位置提供程序正在使用历史API

在您的路线中删除

 $locationProvider.html5Mode(true);

这将解决您的问题。

嗨,z.a,我是Stackoverflow的新手,这是我的第一个问题。如何给你信用?单击“向上”按钮?此外,您还可以在“向上”按钮的正下方打一个复选标记,因为这是正确的答案。谢谢。嗨,z.a,我是Stackoverflow的新手,这是我的第一个问题。如何给你信用?单击“向上”按钮?此外,您还可以在“向上”按钮的正下方打一个复选标记,因为这是正确的答案。谢谢。嗨,z.a,我是Stackoverflow的新手,这是我的第一个问题。如何给你信用?单击“向上”按钮?此外,您还可以在“向上”按钮的正下方打一个复选标记,因为这是正确的答案。谢谢。嗨,z.a,我是Stackoverflow的新手,这是我的第一个问题。如何给你信用?单击“向上”按钮?此外,您还可以在“向上”按钮的正下方打一个复选标记,因为这是正确的答案。谢谢