使用 ui-router 在 Angular URL 中丢失哈希 (#)



我的单页AngularJS应用程序可以通过我的Web服务器的根地址访问。localhost:8080/例如,当我选择转到主状态时,应用程序应该将浏览器中的 url addessfield 更改为localhost:8080/#/home其中第一部分 (localhost:8080/) 指向我的角度应用程序,第二部分 (#/home) 指向主状态 URL。

但是,我的角度应用程序没有做它应该做的事情,而是将浏览器地址字段中的 url 更改为localhost:8080/home这在重新加载时显然会创建一个 404。

你们谁能告诉我我做错了什么,或者至少给我一个提示,告诉我去哪里看?

从配置中禁用 HTML5 模式。 在配置中添加/更改以下行

$locationProvider.html5Mode(false);

这会将#添加到您的网址中。

你只需要说你不使用 HTML 5 模式与$locationProvider.在config文件中:

myApp.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(false);
}]);

JSFiddle 演示

最新更新