首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法修复我的angularjs应用路径中的标签

无法修复我的angularjs应用路径中的标签
EN

Stack Overflow用户
提问于 2013-12-22 13:17:43
回答 1查看 413关注 0票数 0

我知道你们会说“这是复制的”,但这对我不起作用。

我正在做完全相同的事情,下面是发生的事情。

这是我的配置代码:

代码语言:javascript
运行
复制
portfolioApp.config(function($routeProvider, $locationProvider) {
    $routeProvider
        .when('/home', {
            controller: 'portfolioController',
            templateUrl: 'partials/home.htm'
        })
        .otherwise({redirectTo: '/home'});
    if(window.history && window.history.pushState){
        $locationProvider.html5Mode(true);
    }

});

不带locationProvider并将路径设置为"/“而不是"/home”的URL将为:

代码语言:javascript
运行
复制
http://localhost:8080/portfolio/#/

好的,我想去掉标签和"portfolio“路径,这样它就会:

代码语言:javascript
运行
复制
http://localhost:8080/home

使用我发布的配置,它可以做到这一点(我第一次刷新时)。但是会发生什么呢?如果我用新路径再次刷新页面...我得到了一个404 Tomcat错误。

在第一次刷新时,我写了localhost:8080/portfolio,路径被转换为"/home",我在控制台中得到一个错误,说"partials/home.htm“找不到404。

因此,无论哪种方式,它都无法读取我的部分,然后当我刷新时,一切都会崩溃。

我该如何解决这个问题呢?我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-12-22 14:23:44

确保在实现模块的HTML文档头中包含这些脚本。下面提供的两个用于实现最新版本的angular以及最新版本的angular路由脚本:

代码语言:javascript
运行
复制
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular-route.js"></script>

确保您将ngRoute注入到模块中,下面是我的一个示例:

代码语言:javascript
运行
复制
angular.module('controller', ['ngRoute','ngResource', 'ngCookies', 'ngSanitize'])

以下是我的配置块的示例,请确保同时注入routeProvider和locationProvider:

代码语言:javascript
运行
复制
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider){

    $routeProvider
        .when('/', {
            templateUrl: '../partials/member.php',
            controller: 'Member',
            access: 'member'
        })
        .when('/leaderboard', {
            templateUrl: '../partials/leaderboard.html',
            controller: 'Leaderboard',
            access: 'member'
        })
        .otherwise({ 
            redirectTo: '/' 
        });
        $locationProvider.html5Mode(true);

}])

如果你做了所有这些工作,但仍然不能工作,那就发布你的代码的插入器。谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20726481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档