IE兼容-jquery中ajax第二次执行无效果

在做登陆注销功能的时候,使用ajax方式请求,点击登陆成功,点击注销成功,再次点击登陆后台就获取不到任何的请求,基本上等同于无效。

通过JavaScript调试发现ajax代码执行了,回调函数中的数据(data)有值,可是后台就是没有接收到任何请求,如果使用不一样的数据请求,这个时候后台controller方法调用。

总结发现,猜想会不会是浏览器缓存,执行同样的ajax调用同样的数据,直接从缓存中取得,每次关闭浏览器后才能正常执行ajax调用后台。

查阅资料发现jQuery中ajax有cache:false,这个属性,不知道什么原因默认打开,将cache:false,加入到ajax请求中就完美解决这个问题。

万万万万想不到ajax请求ie还有缓存这个东西(以前使用ajax根本没出现过这样情况)。

[html]  view plain  copy
  1. <span style="white-space:pre">            </span>$.ajax({  
  2.                 type:"get",  
  3.                 cache:false,  
  4.                 url:"ttjjlogin-login.json?loginName="+loginName+"&loginPasswd="+password,  
  5.                 dataType:"json",  
  6.                 success : function(msg) {  
  7.                     if(msg.state == "0"){  
  8.                         alert("登陆失败");  
  9.                     }else{  
  10.                           
  11.                     }  
  12.                 }  
  13.             });  

还有一种解决办法是加入一个随机数参数, number=Math.random();
  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值