ajax缓存导致的一个错误,使用时间戳完美解决
2014-03-10 11:06
351 查看
使用ajax读取数据已经很平常了,很久之前编写的一个软件,忽然就发现了问题。很奇怪,在火狐中没有错误,在IE中有错!!我知道是兼容性问题,但具体是什么问题还不是很清楚。
功能很简单,就是保存数据,展示。问题是:保存后,再打开展示的页面,数据没有变?在IE中有问题,在火狐中是没问题。于是自己使用IE调试,才发现,IE读取数据返回的304,显然是从缓存中读取的,不是从服务端读取的数据。知道了原因就很简单了。添加时间戳,强制浏览器从服务端读取数据。
原来的ajax Url:
url: "../SurveyGetRecordData.aspx?RecordID=" + RecordID添加时间戳:
url: "../SurveyGetRecordData.aspx?date="+(new Date().getMilliseconds())+"&RecordID=" + RecordID,
只修改了一处,就完成了。其他的完全不用处理,完美解决。
功能很简单,就是保存数据,展示。问题是:保存后,再打开展示的页面,数据没有变?在IE中有问题,在火狐中是没问题。于是自己使用IE调试,才发现,IE读取数据返回的304,显然是从缓存中读取的,不是从服务端读取的数据。知道了原因就很简单了。添加时间戳,强制浏览器从服务端读取数据。
原来的ajax Url:
url: "../SurveyGetRecordData.aspx?RecordID=" + RecordID添加时间戳:
url: "../SurveyGetRecordData.aspx?date="+(new Date().getMilliseconds())+"&RecordID=" + RecordID,
只修改了一处,就完成了。其他的完全不用处理,完美解决。
相关文章推荐
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- 解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
- 使用Asp.net Ajax时出现'Sys'未定义错误的解决办法
- Query中ajax的使用与缓存问题的解决方法
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- 在Iframe或Frmae中使用Asp.net AJAX控件时提示错误的解决
- “在应用程序级别之外使用注册为 allowDefinition=’MachineToApplication’ 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误”的解决方法。
- 使用AJAX控件时的“Sys 未定义”错误解决办法
- ajax完美解决的一个麻烦问题
- 解决使用Jackson的@JsonFormat注解出现时间错误情况
- 完美解决ajax跨域请求下parsererror的错误
- 安装使用MySQL时一个典型错误的解决、临时记录下
- ubuntu 使用sudo apt-get update 出现 被配置多次导致无法升级错误解决方法
- Query中ajax的使用与缓存问题的解决方法
- 成都项目中因为MYSQL与SSDB备分时间不一致,导致主键产生器错误解决一例
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- 解决浏览器缓存问题---url拼接一个时间戳
- 使用Ajax时在firefox错误控制台出现"未组织好"错误的解决办法