解决IE浏览器ajax get请求只执行一次的问题

解决IE浏览器ajax get请求只执行一次的问题

一、问题描述
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 ... 
	}
 });




  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值