Javascript js去掉url中的#

Javascript js去掉url中的#,javascript,angularjs,Javascript,Angularjs,我正在查看教程中的Angular,我正在尝试去除URL中的哈希 我已经尝试过将html5模式设置为true。但是,它似乎没有正确的路由 控制台显示: GET http://localhost:8000/partials/phone-list.html 404 (Not Found) 这是我的应用程序中的代码: var phonecatApp = angular.module('phonecatApp', [ 'ngRoute', 'phonecatControllers' ]); phone

我正在查看教程中的Angular,我正在尝试去除URL中的哈希

我已经尝试过将html5模式设置为true。但是,它似乎没有正确的路由

控制台显示:

GET http://localhost:8000/partials/phone-list.html 404 (Not Found)
这是我的应用程序中的代码:

var phonecatApp = angular.module('phonecatApp', [
'ngRoute',
'phonecatControllers'
]);

phonecatApp.config(['$routeProvider', '$locationProvider',
  function($routeProvider, $locationProvider) {

  $routeProvider.
    when('/phones', {
      templateUrl: 'partials/phone-list.html',
      controller: 'PhoneListCtrl'
    }).
    when('/phones/:phoneId', {
      templateUrl: 'partials/phone-detail.html',
      controller: 'PhoneDetailCtrl'
    }).
    otherwise({
      redirectTo: '/phones'
  });
  $locationProvider.html5Mode(true);

}]);
我目前正在处理localhost,并使用node来提供页面

编辑: 我已看完这个问题:
然而,我的应用程序似乎有相同的代码。不确定我遗漏了什么?

别忘了在服务器上提供
/partials/phone list.html
路由的页面。不仅仅是index.html(或任何你有的东西)。推送状态(html5模式)仅在您已启动应用程序时才起作用,否则,当您发出新请求时,浏览器如何知道从何处获取javascript

Hashbang URL是不同的,因为您实际上是向同一地址发出请求,因此不需要在服务器上更改任何内容

编辑,并确保您的链接工作正常,通过检查第一个答案在这里

可能重复我正在考虑的只是制作一个只使用angularjs的简单站点。与这里的教程类似:在这种情况下,是否可以去掉#,或者我是否也需要使用服务器端语言?目前只在本地主机上使用nodejs服务器提供页面。我实际上不使用Angular,但我知道路由是如何工作的。你说你正在使用node,所以你应该有你需要的,我会使用express来轻松地设置合适的路由。正如我所说的,您需要确保当您向/partials/phone-list.html发出服务器请求时,服务器需要使用与应用程序根目录相同的文件(index.html+javascript文件)进行响应。