如何在后退按钮上发出请求 - chrome

时间:2017-04-12 12:49:51

标签: javascript jquery google-chrome

我通过名为'home.html'的jquery(ajax)动态更新了html页面。在页面上进行动态更新后,我会转到名为“ takeexam.html”的下一页。但是,当我从 takeexam 返回主页页面时,动态更新的html不存在,我只看到在页面加载期间生成的html。但是当我用mozilla或IE检查时,这个动态更新可以在后退按钮上找到。 chrome有什么问题,我该如何解决?

动态更新 - 我在DOM中添加了几个html,使用jquery

从ajax响应中检查

据我所知,服务器,Internet Explorer和Mozilla向服务器发出请求并在后退按钮上提供页面,但chrome不会向后退按钮上的服务器发出请求,因此问题就出现了。

解决此问题的最佳方法是什么?如何让所有浏览器在后退按钮点击时向服务器发出请求。或者有更好的方法吗?

fyi - Preserve dynamically changed HTML on back button - 我已经读过这篇文章而且我无法理解这个帖子

2 个答案:

答案 0 :(得分:1)

在不知道您正在讨论什么样的动态更新HTML(例如,新组件,样式更改等等)的情况下,我们无法指导特定答案。

我可以说,如果状态很重要,请使用隐藏文本字段,cookie或/和localstorage。并且基于localstorage动态地将页面重新生成到之前的配置。

答案 1 :(得分:0)

经过几个小时的学习,问题在于铬的缓存。我已经设置了HTTP标头 Cache-Control:max-age = 0,no-cache,no-store,must-revalidate

这使得页面不会缓存,当我们再次请求此页面时,浏览器没有缓存,因此它再次向服务器发出请求。

但我仍然无法理解IE和Mozilla如何在没有明确设置HTTP标头的情况下使其工作。