在AngularJS中启用html5Mode后,抛出无法获得错误

时间:2015-07-07 18:47:43

标签: javascript angularjs angular-ui-router ngroute

我在我的应用程序中使用UI-Router进行路由/状态,并且URL正在使用"#"所以要删除它,我使用$locationProvider之类的 -

function configState($stateProvider, $urlRouterProvider, $locationProvider) {

    $locationProvider.html5Mode(true);

在模块相关性中添加了ngRoute,并在我的index.html中添加了<base href="/" >

问题 -

如果我将其用作普通应用,例如在同一个标​​签页中并导航到其他状态,只要我将该网址粘贴到另一个标签页并点击输入其投掷Cannot GET /app_views/contacts,它就可以网址类似于 - http://localhost:9000/app_views/contacts

虽然在URL中使用哈希,但它以两种方式工作。

1 个答案:

答案 0 :(得分:2)

您可能会收到此错误,因为您的服务器配置不正确。换句话说,当您手动输入/app_views/contacts时,它将向服务器请求该页面。为了使其正常工作,您需要配置服务器以将所有流量路由到index.html页面,以便Angular正确接管并显示正确的视图。

以下是相关帖子Reloading the page gives wrong GET request with AngularJS HTML5 mode