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

来源:互联网 发布:淘宝店铺怎么免费装修 编辑:程序博客网 时间:2024/06/15 05:29

在做登陆注销功能的时候,使用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();
原创粉丝点击