【问题标题】:AngularJS issue with routeProvider and hashtag in urlAngularJS 问题与 url 中的 routeProvider 和主题标签有关
【发布时间】:2015-05-30 14:04:32
【问题描述】:

我的 Angular 应用程序在虚拟主机上运行时遇到了一些问题。 我将 wamp 与 vhost 设置一起使用:DocumentRoot "c:/sites/test.dev/www"

ROUTES 有问题。我希望我的应用页面像这样打开: http://test.dev/1 ,其中 1 = user_id。

这是我的 app.js:

$routeProvider
    .when('/:id', {
        templateUrl: 'views/user.html',
        controller: 'UserController',
    });
$locationProvider.html5Mode(true);

当我禁用 $locationProvider 时,一切正常,但主题标签“#”总是附加到 url,例如 http://test.dev/#/1。任何人都可以有一些想法吗?

应用文件夹 /www/ 结构:

  • /控制器/
  • /服务/
  • /指令/
  • /views/
  • ---/js/
  • ---/css/
  • ---user.html
  • app.js
  • index.html

【问题讨论】:

  • “当我禁用 $locationProvider 时,一切正常” - 当您启用 $locationProvider 时它是否有效?
  • 否(routeProvider 不起作用
  • 远程地址:127.0.0.1:80 请求地址:custom.dev/1 请求方法:GET 状态码:404 Not Found
  • 含义:$locationProvider.html5Mode(true); - 不起作用,$locationProvider.html5Mode(false); - 处理“#”问题?
  • 尝试绑定到类似的东西:.when('/myprefix/:id'

标签: angularjs routes hashtag


【解决方案1】:

请尝试使用以下代码:

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

它会为你工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    相关资源
    最近更新 更多