问题描述
1、 使用 ajax get方法请求数据时,直接修改了数据库数据,发现取出的数据没变化,经常反复测试确认发现,该问题只在 IE 浏览器下会发生。 ---- 没错,又是 IE。
1、原来是 get 请求在IE浏览器中会被缓存,从第二次请求开始,一直都是请求缓存。
2、参考资料: GET 对比 POST
问题原因
1、变更请求方式为post,即: type=‘post’
2、禁用ajax缓存: cache=false 。(默认 true,开启缓存)
问题解决
1、变更请求方式为post,即: type='post'
2、禁用ajax缓存: cache=false 。(默认 true,开启缓存)
$.ajax({
url:'/echarts/jsonData',
type:'get',
dataType:'json',
cache:false,
success:function(data){
dosomething ...
}
});
3、请求url后面增加时间戳
var _v=new Date().getTime();
$.ajax({
url:'/echarts/jsonData?v='+_v,
type:'get',
dataType:'json',
success:function(data){
dosomething ...
}
});