我最近遇到了一个Web应用程序,其URL具有形式:
https://URL.com/page/uuid/#/anotheruuid/area?action=whatever
我对在URL中使用#
感到困惑。通常,磅符号是为片段标识符保留的,该标识符在URL的末端。这里有什么用,其目的是什么?
这是在SPA(单页应用程序)中使用的。目的是能够在不同页面之间导航,而无需重新加载整个应用程序。它是向客户端框架/库的信息,以便能够正确路由应用程序。
例如,最常见的框架之一 - 角 - 支持两种位置策略:
-
hashlocationstrategy url看起来像
http://localhost/#/product
-
pathlocationstrategy url看起来像
http://localhost/product
(源)