一、问题描述
1、 使用 ajax get方法请求数据时,直接修改了数据库数据,发现取出的数据没变化,经常反复测试确认发现,该问题只在 IE 浏览器下会发生。 ---- 没错,又是 IE。
二、相关代码参考
二、相关代码参考
$.ajax({
url:'/echarts/jsonData',
type:'get',
dataType:'json',
success:function(data){
dosomething ...
}
});
三、问题确定
1、原来是 get 请求在IE浏览器中会被缓存,从第二次请求开始,一直都是请求缓存。
2、参考资料: GET 对比 POST
四、问题解决
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 ...
}
});
博客文章同步在微信公众号:Web小项目
覆盖百万优质粉丝的web项目分享平台;
优质Web项目分享,技术解决方案汇总,开发资料分享,面试资料汇总,互联网公司面试真题,技术博客等专题内容;
扫描下方二维码关注我们,领取项目资料: