我觉得这里缺少一些根本性的东西。
这是一个节点应用程序,getData
是一个AJAX数据库调用,可以获取有关博客文章的信息。
我可以正常加载页面,它只是拆分URL字符串并使用右侧作为postid
,然后通过getData
发送帖子ID。该部分有效,但我注意到,如果我点击两次页面并回击它不会加载旧页面,它只是更改地址栏中的URL,但实际上并没有再次加载页面。
因此,如果说我放http://localhost:3000/post/&2
,它将加载id为2的帖子。然后我将http://localhost:3000/post/&3
加载ID为3的帖子。现在,如果我回击按钮,我会将栏中的网址返回http://localhost:3000/post/&2
,但会保留http://localhost:3000/post/&3
的数据
我当前的想法是,由于某种原因,后退按钮实际上并不将它们视为单独的网址,因此它会加载http://localhost:3000/post/&3
中的缓存,因为http://localhost:3000/post/&2
和{{ 1}}与它相同。
http://localhost:3000/post/&3
答案 0 :(得分:0)
我误解了历史缓存的工作原理。它永远不会卸载数据,因为它不会将参数更改识别为新页面。
我使用pushState解决了我的问题并改变了历史记录本身的状态。 感谢你们和男孩们一起尝试。