当前位置: 首页 > 面试题库 >

如何从angularjs ng-route中删除哈希号

夔宏深
2023-03-14
问题内容

我正在尝试使用locationProvider从angular js的url路由中删除主题标签,但它给了我错误。

app.js

var eclassApp = angular.module('eclassApp', 
    ['ngRoute', 'eclassControllers', ]
);

eclassApp.config(['$routeProvider','$locationProvider',
    function ($routeProvider, $locationProvider){
        $routeProvider.
            when('/',{
                templateUrl: '/html/student-list.html',
                controller: 'StudentsListCtrl',
            }).
            when('/students/:studentId',{
                templateUrl: '/html/student-details.html',
                controller: 'StudentDetailsCtrl',

            }).otherwise({
                redirectTo: '/students'
            });
            $locationProvider.htmlMode(true);
    }]
);

错误:

 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.13/$injector/modulerr?p0=eclassApp&p1=TypeE…oogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.13%2Fangular.min.js%3A17%3A1)

我想念什么吗?

编辑:用这样的选项对象调用html5Mode函数

$locationProvider.html5Mode({
    enabled:true
})

我收到以下错误(更改为角度满角以更好地解释错误,而不是缩小版本)

Error: [$location:nobase] $location in HTML5 mode requires a <base> tag to be present!

http://errors.angularjs.org/1.3.13/$location/nobase


问题答案:

您可以像这样使用$ locationProvider-

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

另外,您也可以在index.html中使用base标签(我想这是您的目标网页)

<head>
  <base href="/">
</head>

删除基本标签可能会在IE9之类的旧IE浏览器中造成一些副作用



 类似资料:
  • 问题内容: 我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如: 并且多数民众赞成在它工作正常,一切,除了,当页码为1时,我不想成为,我只是希望它成为 我尝试了以下变体: 的作品,但网址现在就像,我不很哈希那里。 根本不使用window.location.hash,但是当用户从第3页回到第1页时,他位于第1页,但是url仍然是因为我

  • 问题内容: 我正在使用react- router进行路由,并使用hashHistory选项,以便可以从浏览器刷新页面或指定现有路由之一的url并到达正确的页面。它工作正常,但我在URL中看到的哈希是这样的: http:// localhost /#/ login?_k = ya6z6i 这是我的路由配置: 问题答案: 您是否尝试过browserHistory选项?您还可以从浏览器刷新页面,或指定现

  • 问题内容: 我正在尝试从Angular 2中的网址中删除#号,但找不到如何在不产生任何问题的情况下删除它的任何好的解释。 我记得在AngularJS 1上添加起来比较容易 如果您能告诉我这是否是一种好的做法(删除#)或可能会影响应用程序的SEO(或对其进行改进),我也将不胜感激。 PS:我正在将Angular 2与打字稿一起使用 问题答案: 正如@Volodymyr Bilyachat指出的那样,

  • 问题内容: 在删除井号之前,我已经 这些工作正常 删除井号后,我将其添加到index.html 和index.js 现在点击重定向到 但直接在浏览器中返回404以及其他页面 我应该怎么做才能解决这个问题? 我的后端是Java 问题答案: 那是意料之中的。以下是未打开html5时发生的情况: 您在地址栏中输入网址 浏览器向localhost:8080 / index.html发出http请求,并获取

  • 我想在命令行上这样做,所以像这样的事情会很好: 上面的方法当然不适合散列。所以最后我需要打电话 以自动化的方式。

  • hdel key field 删除指定的hash field