我制作了一个显示帖子墙的脚本,让我们可以评论和删除帖子。它工作正常。但是当我去另一个页面并试图返回时,我没有看到任何更改,只有页面加载时呈现的内容(未显示添加的评论和其他操作)。
当我刷新它时,我得到了我的更改,因为它们保存在数据库中。
我没有使用主干导航,因为帖子墙只放置在使用主干的网站中。
所以问题是,backbone 没有保存对 DOM 的更改或在导航返回时看到它们的任何内容。
也许有人知道如何解决这个问题?因为用户会认为动作没有被保存并再次重复它们。
我制作了一个显示帖子墙的脚本,让我们可以评论和删除帖子。它工作正常。但是当我去另一个页面并试图返回时,我没有看到任何更改,只有页面加载时呈现的内容(未显示添加的评论和其他操作)。
当我刷新它时,我得到了我的更改,因为它们保存在数据库中。
我没有使用主干导航,因为帖子墙只放置在使用主干的网站中。
所以问题是,backbone 没有保存对 DOM 的更改或在导航返回时看到它们的任何内容。
也许有人知道如何解决这个问题?因为用户会认为动作没有被保存并再次重复它们。
您是否使用 Backbone 来增强在服务器端呈现的页面,即 Backbone 没有通过 AJAX 请求获取数据并将 DOM 构建到空页面?
如果是这种情况,问题不在于 Backbone,而在于浏览器缓存。浏览器正在呈现它上次请求该 URL 时收到的 HTML 的缓存副本。当您在页面上时,浏览器不知道也不关心 Backbone 修改了 DOM。
尝试将您的服务器配置为提供以下 HTTP 响应标头,以指示浏览器不要缓存页面的副本:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
标题在此Stack Overflow 线程中进行了解释。