我正在学习AngularJS,有一件事让我很恼火.

我使用$routeProvider为我的应用程序声明路由规则:

$routeProvider.when('/test', {
  controller: TestCtrl,
  templateUrl: 'views/test.html'
})
.otherwise({ redirectTo: '/test' });

但当我在浏览器中导航到我的应用时,我看到的是app/#/test而不是app/test.

所以我的问题是为什么AngularJS会在URL中添加这个哈希#?有没有可能避免呢?

推荐答案

事实上,对于非HTML5浏览器,您需要#(Hashtag).

否则,他们只需在提到的href处对服务器进行HTTP调用.

您可以使用$locationProvider.html5Mode(true)来告诉ANGLE使用HTML5策略(如果可用).

下面是支持HTML5策略的浏览器列表:http://caniuse.com/#feat=history

Javascript相关问答推荐

如何在我的Web应用程序中使用JavaScript显示和隐藏喜欢/不喜欢按钮?

如何在react + react路由域名中使用DeliverBrowserRouter?

为什么子组件没有在reaction中渲染?

Angular material 表多个标题行映射

如何使用Paged.js仅渲染特定页面

用相器进行向内碰撞检测

. NET中Unix时间转换为日期时间的奇怪行为

Phaser 3 console. log()特定游戏角色的瓷砖属性

cypress中e2e测试上的Click()事件在Switch Element Plus组件上使用时不起作用

JS,当你点击卡片下方的绿色空间,而它是在它的背后转动时,

为什么我的导航条打开状态没有在窗口addeventlistener(Reaction Js)中更新?

WhatsApp Cloud API上载问题:由于MIME类型不正确而导致接收&Quot;INVALID_REQUEST";错误

使用getBorbingClientRect()更改绝对元素位置

未加载css colored颜色 ,无法将div设置为可见和不可见

如何在JAVASCRIPT中合并两组对象并返回一些键

使用Document.Evaluate() Select 一个包含撇号的HTML元素

将嵌套数组的元素乘以其深度,输出一个和

将范围 Select 器添加到HighChart面积图

无法设置RazorPay订阅API项目价格

如何使用[ModelJSON,ArrayBuffer]调用tf.loadGraphModelSync