遇到问题
在internet explorer 11(IE11) 下写了一个自动刷新页面请求的代码。
环境是 win2008+ie11+ jquery 3.2.1
代码在 chrome 下的浏览器正常。唯独ie11下不能自动刷新。但是可以在调试模式(F12)下正常运行。
处理过程
百度下找了几个解决方案
检查javascript 函数是否和 html 中一些方法重名,如果有改正。
ie 7,8,9 貌似不支持 console.log。我的环境是ie11,我也删除了 所有的console.log 问题依旧
JQuery get/getjsON方法引起的IE兼容问题。在前端调用ajax方法中的get/getJSON方法时,ie浏览器会自动设置缓存,从而导致第二次访问时,ie默认查找缓存,从而不会向服务器请求数据。
我遇到的问题正好是第三条。
解决方案
添加可变参数 ,添加时间戳或随机数,类似参数中添加t=Math.random();
使用其他ajax方法,如果不是必要使用get或getJSON,可以使用post方法替换。
设置 .ajax 缓存 $.ajaxSetup({ cache: false });
1.代码:
$.get("id2.php?t="+Math.random(), function(data,status){
直接加了随机数。问题解决
3.代码:
$.ajaxSetup({ cache: false });
至此,曾经困扰我几年的问题终于解决了!
添加新评论