【问题标题】:AngularJS is breaking the routing urlAngularJS 正在破坏路由 url
【发布时间】:2017-12-16 18:37:25
【问题描述】:

我对 Angular JS 有疑问,

访问时:

domain.name/#/filme/view/Dilwale/524

它正在将网址更改为:

domain.name/#!/#%2Ffilme%2Fview%2FDilwale%2F524

这可能是什么原因?

【问题讨论】:

  • 如果您构建了一个演示应用程序,它会更容易为您提供帮助。至少放一些代码。

标签: javascript angularjs


【解决方案1】:

根据我的回答:Why is there #! in the url of my angular app

这也可能是因为 Angular 1.6.0 的重大变化。 (如果您使用的是 Angular 1.6.0 :)

更新日志:https://github.com/angular/angular.js/blob/master/CHANGELOG.md

更改:https://github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52

重大变化

$location hash-bang URL 的哈希前缀已从 空字符串“”到爆炸“!”。如果您的应用程序不使用 HTML5 模式或正在不支持 HTML5 模式的浏览器上运行, 并且您还没有指定自己的哈希前缀然后是客户端 URL 现在将包含一个“!”字首。例如,而不是 mydomain.com/#/a/b/c 将变为 mydomain/#!/a/b/c。

【讨论】:

  • 谢谢,这解决了我的问题。
  • 网址的其余部分呢?
  • 2F 是 / 的 ascii。您到该路线的链接(href)是什么样的?是不是“#/films”?
【解决方案2】:

这是因为您的 URL 已完成编码:

domain.name/#/filme/view/Dilwale/524

看下面的截图

要验证使用这个LINK

【讨论】:

  • 是的,但我没有对其进行编码,而且我没有设置角度来对其进行编码,为什么会发生这种情况/?
  • 你不会要求 Angular 编码!但是您的浏览器会为您完成。
  • 它为我做了,但角度不适用于编码的网址:D
  • 不要在网址中使用奇怪的字符
  • 我的网址中没有奇怪的字符,它是主要信息中的那个,但它甚至连破折号都散列了。
猜你喜欢
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 2016-10-18
  • 1970-01-01
  • 2019-02-04
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
相关资源
最近更新 更多