ajax中cache缓存的使用:
问题描述:
在IE、360浏览器上提交表单后,保存后的内容不回显(依然显示空或者之前的内容)。
原因:
回显内容是使用ajax的get方式的请求查询数据,ajax的cache默认值为true:使用缓存,这个时候读取的数据是缓存中的数据而不是最新的数据。
解决办法:
有多种,这里用了一个通用的方法:
初始化页面的js中加入:
如果是使用jquery,可以在开始的时候设置,清除缓存,$.ajaxSetup({cache:false});。
分析:
1.ajax缓存只对GET方式的请求有效,而浏览器认为POST请求提交表单内容必定有变化,所以不走缓存。
2.在默认的情况下,一般发送ajaxget请求,IE浏览器第一次会向服务器端请求,获取最新数据,如果地址和参数不变,第二次及以后再发送请求,
它就默认获取的缓存数据,这样的问题是ie中很常见的问题,一般POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)