了解如何从角度路由中删除哈希值#

了解如何从角度路由中删除哈希值#,第1张

了解如何从角度路由中删除哈希值#

那是意料之中的。以下是未打开html5时发生的情况:

  • http://localhost:8080/index.html#/main
    在地址栏中输入网址
  • 浏览器向localhost:8080 / index.html发出http请求,并获取html页面作为响应
  • html页面包含一个已执行的角度应用程序。角度路由器解析散列(/ main)之后的路径,从而加载关联的视图和控制器

现在,启用html5模式并加载index.hml会发生什么?

  • http://localhost:8080/index.html
    在地址栏中输入网址
  • 浏览器向localhost:8080 / index.html发出http请求,并获取html页面作为响应
  • html页面包含一个已执行的角度应用程序。角度路由器解析路径(/index.html),发现它与任何路由都不匹配,因此将地址栏中的位置更改为默认位置:/ main,然后加载关联的视图和控制器。更改地址栏中的位置除了使浏览器在导航历史记录中添加新条目外,不会使浏览器执行任何其他 *** 作。

现在,如果您单击刷新或直接

http://localhost:8080/main
在地址栏中输入会发生什么?那么,在这种情况下,您是在说浏览器:“请在url上加载页面
http://localhost:8080/main
。这就是浏览器的工作:它将HTTP请求发送到
http://localhost:8080/main
。由于服务器在此地址没有任何内容,因此它将发回404。

现在如何使其工作?实际上非常简单:您需要配置服务器,使其在收到路径

/main
(以及角度应用程序的所有其他路径)请求时发回index.html页面。这样,浏览器将加载HTML页面,包含的角度应用程序将重新启动,角度路由器将从
/main
URL
解析路径(),从而将加载与该路径关联的视图和控制器。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存