【问题标题】:Single page application cache issue单页应用程序缓存问题
【发布时间】:2014-09-01 22:16:40
【问题描述】:

我有一个在 MVVM 和淘汰赛、打字稿技术中创建的单页应用程序。 我正在使用淘汰模板在页面中创建不同的视图。 应用程序页面有一个视图,其中显示了用户可以启动、暂停、恢复任务的列表。相应地使用敲除进行状态更改。数据库正在更新,但 UI 不反映更改。 此应用程序在 chrome 中运行良好,但在 IE 中页面不会刷新。在 IE 中,当我从设置中选择每次请求新版本的存储页面时。它在 IE 中也可以正常运行。 谁能帮我解决这个问题

【问题讨论】:

  • 用户更改状态后,您是否从服务器获取数据(json)并尝试使用检索到的数据更新可观察对象?
  • 是的,我也在这样做,它在 chrome 中运行良好,只有 IE 有问题

标签: mvvm knockout.js typescript single-page-application


【解决方案1】:

您的非刷新 UI 的问题似乎是 json 缓存问题。

尝试禁用 jquery ajax 缓存

$.ajaxSetup({ cache: false });

全局或暂时用于导致问题的请求。

IE 正在缓存 JSON 响应,您会在 Internet 临时文件夹中找到 .json 文件的响应:)

更多信息可以阅读here

【讨论】:

  • 感谢解决方案对我有用 :).. 你能解释一下这个问题的根本原因吗
  • 浏览器通常使用响应头和实际请求的 uri 的组合来确定是否缓存以及缓存多长时间。请求标头通常必须以某种方式在网络服务器上设置,而 uri 可以通过查询字符串参数在每个请求上区分,这是 ajaxSetup({ cache: false }) 实际执行的操作(在 infadelic 提供的链接中提到)。以下是有关 IE ajax 缓存的更多详细信息的链接:greenvilleweb.us/how-to-web-design/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 2011-04-28
  • 2014-04-04
相关资源
最近更新 更多