我正在使用带有Rails 3后端的jQuery,我有以下场景:
remove()
从DOM中删除项目,作为对上面第2步的AJAX成功响应此方案中的注释显然是由浏览器缓存的,因此即使先前已删除它也会显示(并且它在服务器上也不存在)。
当用户点击后退按钮时,如何阻止评论(或先前从DOM中删除的缓存对象)出现?
顺便说一下:请不要说“不要缓存任何页面”:)这不是一个选项。
答案 0 :(得分:0)
答案一:如果用户使用后退按钮,当他们看到过去的事情时,他们不应该感到惊讶。
答案二:它有点沉重,但您可以在$(document).ready()
中尝试ajax调用来检查过时的内容。我不确定那会起作用。如果没有,您可以设置ping到服务器的间隔,以便仔细检查屏幕上是否有过时的内容。 (我的表现很好,平均频率为7秒)
我认为没有非重手的方法(除了防止缓存;)
答案 1 :(得分:0)
我不知道什么时候它取决于浏览器,它可能会破坏您的RESTful路由,但您可以做的是对帖子来源的相同 URL发出PUT / POST,并在AJAX响应中禁用缓存(使用Cache-Control标头)。它应该在浏览器的缓存中使此URL无效,因为浏览器通常不会使用HTTP谓词进行区分。
答案 2 :(得分:0)
如果您使用的是rails页面缓存,则应在“创建”,“更新”和“删除”操作中将其清除。有关详细信息,请参阅link