gpt4 book ai didi

javascript - AngularJs 和 HTML 历史

转载 作者:行者123 更新时间:2023-12-02 16:35:43 28 4
gpt4 key购买 nike

我有以下路线:

app.config(function($routeProvider, $locationProvider) {
$routeProvider
// route for the home page
.when('/', {
controller : 'ApplicationController',
controllerAs : 'controller',
templateUrl : 'includes/home/home.html',
})
// route for the about page
.when('/Enterprise', {
templateUrl : 'includes/enterprises/home_enterprise.html',
})
.otherwise({redirectTo : '/'});

// use the HTML5 History API
$locationProvider.html5Mode(true);
});

我的链接:

<li><a ng-click="controller.MoveToCompanyHome(1)"><i class="fa fa-home">My Link</i></a></li>

我的标题中也有这一行:

<base href="/admin2/" />

我的 Controller 的功能:

this.MoveToCompanyHome = function(id_company){
$location.path('/Enterprise');
};

这工作正常,直到我尝试使用浏览器历史记录转到上一页。它尝试加载/Enterprise 但不起作用 (404)。我知道我的页面只有在加载index.html(或/)时才会工作,但无法理解我的历史记录将如何工作。我尝试阅读 angularJs 的文档( https://docs.angularjs.org/guide/ $location ),但我无法使我的历史记录正常工作。

最佳答案

您收到 404 错误是因为您需要对服务器进行更改,因为服务器上不存在 /Enterprise。这些更改将取决于您用来托管 Angular 应用程序的技术。

取自 Angular documentation :

HTML5 mode

Using this mode requires URL rewriting on server side, basically youhave to rewrite all your links to entry point of your application(e.g. index.html).

关于javascript - AngularJs 和 HTML 历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27953555/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com