我想知道如何缓解用户通过 AJAX 与您的站点交互时出现的问题,并且您同时部署了新版本的站点。
想象一个像下面这样的场景:
用户通过单击“下一步”按钮浏览您的帖子。“下一步”按钮通过 XHR 向服务器提交表单,然后服务器以服务器生成的 Javascript 响应 (SJR) 进行响应。
SJR 呈现这个 Javascript:
// in create.js.erb
renderNewPost(<%= @post.to_json %>);
(renderNewPost在您的连接中定义,缩小application.js并由用户的浏览器缓存。)
此时一切正常。
现在,作为新功能的一部分,您更改端点的 SJR 以首先记录一些内容:
// in create.js.erb
logSomething("hi!");
renderNewPost(<%= @post.to_json %>);
并将该功能添加logSomething到您的application.js.
用户再次单击“下一步”按钮。这一次,SJR 响应logSomething('hi')行...但是浏览器没有在logSomething任何地方定义,因为application.js浏览器加载的是第一个版本。
现在,在页面刷新之前,用户将无法使用您的网站。
我们如何解决这个问题?手头的问题有名称吗?