iOS6 – 有没有办法清除缓存的ajax POST请求添加到主屏幕的webapp?

iOS6 ajax POST请求缓存对我们的webApp来说正成为一个巨大的问题。 我们的大多数用户已将应用添加到主屏幕。 自升级以来,大多数对后端的POST请求都不起作用,数据在6天前就已过时且数量不足。 我们知道要解决这个问题的两个解决方法,一个是更改每个POST请求,以便通过添加时间戳或一些随机输入来改变它,第二个是禁用Web服务器上的缓存。

以下文章详细介绍了这两种解决方法: iOS 6上的Safari是否缓存$ .ajax结果?

如果在iOS6升级之前(或之后)设置,则关闭Web服务器上的缓存可以解决问题。 但是,似乎任何自升级以来所做的POST请求,直到我们从添加到主屏幕的应用程序转换缓存时,仍然会被缓存! 我们找不到清除它们的方法。 删除主屏幕应用程序并重新启动设备不起作用! 除了关闭网络服务器上的缓存之外,我们唯一的选择是更改我们的URL或为每个请求添加时间戳。

有没有人知道清除主屏应用程序缓存的方法,除了恢复到工厂? 请提供详细信息。

通过向请求添加时间戳而不关闭服务器上的缓存来向任何实施解决方法的人发出警告。 如果您的应用程序已添加到主屏幕,现在每个post的响应都会被缓存,并且似乎不会过期。 除非有人有办法清除它,否则这看起来像是潜在的内存泄漏!

在我的经验中,唯一能够完全击败此缓存问题的方法是采用Google的方法并在url中添加每个请求ID。 然后,您可以使用mod_rewrite或其他此类引擎为您的服务器使后端脚本透明。