25
iOS 6上的Safari是否缓存$ .ajax结果?
自从升级到iOS 6以来,我们看到Safari的Web视图可以使用缓存$.ajax调用。这是在PhoneGap应用程序的上下文中,因此它正在使用Safari WebView。我们的$.ajax调用是POST方法,并且我们将缓存设置为false {cache:false},但这仍然在发生。我们尝试将a手动添加TimeStamp到标题中,但没有帮助。 我们进行了更多研究,发现Safari仅返回具有静态功能签名且不会随调用而变化的Web服务的缓存结果。例如,假设有一个类似以下内容的函数: getNewRecordID(intRecordType) 此函数一次又一次接收相同的输入参数,但是每次返回的数据都应该不同。 一定要赶紧Apple加快iOS 6的速度,他们对缓存设置太满意了。有人在iOS 6上看到过这种行为吗?如果是这样,到底是什么原因造成的? 我们发现的解决方法是将函数签名修改为如下形式: getNewRecordID(intRecordType, strTimestamp) 然后也总是传入一个TimeStamp参数,只是在服务器端丢弃该值。这可以解决此问题。希望这对其他像我一样在这个问题上花费15个小时的可怜人有所帮助!