stackoverflow 问题 URL 包括一个 servlet、id# 和标题,如下所示......
stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
我的网站与 URL 的工作方式相同......
localhost:8443/user/1/admin
我在后端进行的获取用户信息的查询只需要 ID 号。之后的用户名只是为了展示。因此,如果您在浏览器中输入此内容,localhost:8443/user/1/a
它将为您提供与此完全相同的页面localhost:8443/user/1/admin
Stackoverflow 能够注意到 URL 的末尾部分丢失并将其添加回来。所以如果你把它放到地址栏中
stackoverflow.com/questions/824349/modify
他们会动态地将其更改为
stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
现在我确实阅读了有关在 stackoverflow 上动态更改 URL 的内容,每个人都一直在参考, history.pushstate
所以我尝试了一下。这样做的问题是它向历史堆栈添加了不正确的 URL。我想要完成的是将 URL 更改为应有的路径,而不是将错误的 URL 包含到历史堆栈中。因此,如果用户决定返回,他们会返回到他们上次访问的实际页面,stackoverflow.com/questions/824349/modify
. 就像 stackoverflow 一样。我怎么能这样!?