gpt4 book ai didi

javascript - Angular ngRoute 突然将 URL 转换为编码字符 #!/#%2F

转载 作者:行者123 更新时间:2023-11-30 15:33:33 26 4
gpt4 key购买 nike

在我尝试添加 ngAnimate、ngMaterial 和 ng-image-gallery 之前,我的应用程序中的一切都运行良好。我不知道添加这些模块是否是问题的根源,但在问题发生之前我没有更改任何其他内容。

从那时起(即使在我从 app.js 和 index.html 中删除依赖项之后)所有 URL 都被转换为编码字符......

之前的样子:

http://.../app/index.html#/workshops

不是它被转换成:

http://.../app/index.html#!/#%2Fworkshops

当然什么也找不到。导航不工作,没有任何反应。

为什么现在要对 URL 进行编码?!即使只是在网络服务器上运行 index.html 也会给我以下 URL:

 http://.../app/index.html#!/

有人遇到同样的问题吗?为什么会这样?更重要的是:我该如何解决这个问题?!非常感谢。

我的路线配置:

    'use strict';

angular.module('myApp').config(['$locationProvider', '$routeProvider',
function($locationProvider, $routeProvider) {

$routeProvider
.when('/', {
templateUrl : 'modules/start/views/start.html',
controller: 'StartController'
})

.when('/galerie', {
templateUrl : 'modules/galerie/views/galerie.html',
controller: 'GalerieController'
})
.when('/kontakt', {
templateUrl : 'modules/kontakt/views/kontakt.html',
controller: 'KontaktController'
})
.when('/workshops', {
templateUrl : 'modules/workshops/views/workshops.html',
controller: 'WorkshopsController'
})
;
}]);

这里是我如何在导航中切换路线:

                <div class="navbar navbar-top hidden-xs">
<ul class="nav navbar-nav">
<li>
<a href='#/'>Start</a>
</li>
<li>
<a href='#/workshops'>Workshops</a>
</li>
<li>
<a href='#/galerie'>Galerie</a>
</li>
<li>
<a href='#/kontakt'>Kontakt & Buchung</a>
</li>
</ul>
</div>

这是包含脚本的方式:

     <script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="https://use.fontawesome.com/936815fb51.js"></script>
<script src="app.js"></script>
<script src="modules/config/routes.js"></script>
<script src="modules/start/start.js"></script>
<script src="modules/start/controllers/StartController.js"></script>
...

添加控制台什么也没说。没有问题,没有错误。

最佳答案

天哪,我刚刚找到了答案......间接地,它与添加依赖项有关,因为我将使用的 Angular 版本从 1.58 更改为 1.61 - 我刚刚看到哈希前缀更改为“!”。

回答问题的链接在这里: Angular Route - Extra # in URL

路由配置中的以下行使路由器像以前一样工作:

$locationProvider.hashPrefix('');

感谢 Arjan Einbu 在链接中回答了这个问题。这救了我的命。

关于javascript - Angular ngRoute 突然将 URL 转换为编码字符 #!/#%2F,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41919303/

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