gpt4 book ai didi

angularjs - $stateProvider Angular 将 '/#' 添加到我的路线

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:59 24 4
gpt4 key购买 nike

我正在使用 $stateProvider 来处理 Angular 1 中的路由,但我很困惑为什么我的路由在全部开始之前都有一个/# 。我不介意,但当我在 Postman 中测试这些路由时,路由会返回 404 错误。我想找出为什么为我的路线添加了/# 并将其删除,以便我可以将我的前端连接到 Node 中的后端。我对将 Angular 与 Node 一起使用有点陌生,所以我不确定我是否正确解释了我的问题。

这是我的代码

app.config(function($stateProvider, $urlRouterProvider){

$urlRouterProvider.otherwise("/main");

$stateProvider
.state("main", { url: "/main", templateUrl: "templates/main/main.view.html", controller: "MainCtrl" })
.state("map", { url: "/map", templateUrl: "templates/map/map.view.html", controller: "MapCtrl" })
});

这些是我的路线

http://localhost:8080/#/main

http://localhost:8080/#/map

但我希望它们看起来像

http://localhost:8080/main

http://localhost:8080/map

最佳答案

要摆脱 #/,您必须在配置文件之一中设置 $locationProvider.html5Mode(true);

 angular.module('app', []).config(function ($locationProvider) {
$locationProvider.html5Mode(true);
});

有关 html5 模式与 hashbang 模式的更多信息,请查看官方 Angular documentation

但请记住一件事,在 html5 模式下,如果没有某些服务器端 URL 重新路由,您的应用程序可能无法正确处理页面刷新。更多信息请参见此处的堆栈溢出帖子之一:Reloading the page gives wrong GET request with AngularJS HTML5 mode

关于angularjs - $stateProvider Angular 将 '/#' 添加到我的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38023911/

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