gpt4 book ai didi

angularjs - 从 AngularJS 中的 URL 中删除 '#' 后,我在页面重新加载时收到错误

转载 作者:行者123 更新时间:2023-12-02 23:56:23 24 4
gpt4 key购买 nike

我试图从 URL 中删除“#”。我查看了很多这样做的例子。几乎所有示例都遵循我遵循的相同 2 个步骤。
第 1 步:启用 HTML5 模式

.config(function ($routeProvider,$locationProvider){
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl',
controllerAs: 'main'
})
.when('/products/',{
templateUrl:'views/HomeMain/products.html',
controller:'MainCtrl',
controllerAs:'main'
});
$locationProvider.html5Mode(true);
})

第 2 步:添加基本标签

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

按照上述步骤后,我成功从 URL 中删除了“#”。
每当我导航到“产品”页面时,URL 看起来像
http://localhost:9001/products/
这正是我想要的。
但是,每当我重新加载产品页面时,浏览器窗口中都会显示此错误:

Cannot GET /products/

为什么我会收到此错误?我该如何处理这个错误?

最佳答案

当使用#时,您正在客户端浏览,并且网址永远不会发送到服务器。但是,当您使用 html5Mode 时,您还应该配置服务器端,以重写 url 并告诉客户端将处理它

对于 asp.net,请参阅 this

关于angularjs - 从 AngularJS 中的 URL 中删除 '#' 后,我在页面重新加载时收到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41159642/

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