为什么这段代码打破后退按钮

时间:2018-04-14 10:52:38

标签: javascript html

我觉得这里缺少一些根本性的东西。 这是一个节点应用程序,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

1 个答案:

答案 0 :(得分:0)

好吧,以防其他人发现问题有用 我解决了自己的问题

我误解了历史缓存的工作原理。它永远不会卸载数据,因为它不会将参数更改识别为新页面。

我使用pushState解决了我的问题并改变了历史记录本身的状态。 感谢你们和男孩们一起尝试。