iOS 6.0/6.0.1中AJAX POST请求的Safari缓存结果需要多长时间?

iOS 6.0/6.0.1中AJAX POST请求的Safari缓存结果需要多长时间?,ajax,caching,safari,ios6,Ajax,Caching,Safari,Ios6,我最近在iOS 6.0和6.0.1中遇到了Safari缓存AJAX POST请求结果的问题,如中所述 我已经实现了一个变通方法,这样应用程序现在将添加一个缓存控件:所有POST请求的响应都没有缓存头。该应用程序是ASP.NET web应用程序,以前为缓存控制头返回private值,我想这是默认值,我们没有在任何地方显式设置它。不包括时间跨度 虽然该解决方案对第一次向特定URL提交请求的最终用户很有帮助,但已经缓存了数据的用户仍然可能受到影响。如果Safari没有指定缓存的特定时间跨度,它将在过期

我最近在iOS 6.0和6.0.1中遇到了Safari缓存AJAX POST请求结果的问题,如中所述

我已经实现了一个变通方法,这样应用程序现在将添加一个缓存控件:所有POST请求的响应都没有缓存头。该应用程序是ASP.NET web应用程序,以前为缓存控制头返回private值,我想这是默认值,我们没有在任何地方显式设置它。不包括时间跨度


虽然该解决方案对第一次向特定URL提交请求的最终用户很有帮助,但已经缓存了数据的用户仍然可能受到影响。如果Safari没有指定缓存的特定时间跨度,它将在过期前缓存请求后数据多长时间

如果您关心这一点,并且希望清除缓存的请求,您可以通过添加一些新的隐藏字段来更改POST请求,这些字段包含一些您甚至不关心的值。因为这是一个新的请求,所以浏览器不应该依赖它的缓存响应。

我考虑过这个选项。唯一的问题是,在这个特定的应用程序中,有数百个web服务调用是通过HTTP POST完成的。如果应用程序是用jQuery这样的库构建的,那么在任何传出的POST请求中添加一个额外的隐藏字段就很简单了,但在这种情况下,正在使用ASP.NET AJAX,我不确定是否可以创建任何类型的请求前过滤器,以便在任何传出的POST请求中添加一个隐藏字段。不过,我会进一步研究。