ajax请求在ie浏览器上的兼容性问题

本人在服务器上调试程序 发现ajax请求在 谷歌浏览器和火狐浏览器 调试着都没有问题 但在ie上就出现了问题,这里我就把碰见的问题以及最后怎么解决的 分享一下

第一次 运行的时候 就报错了 我打开控制台发现了问题

ajax请求在ie浏览器上的兼容性问题

ie浏览器一直报我这里缺少函数   我查了下 原来 ie不支持 这种写法  所以 我就用原生了 dom方法 document.getElementById()获取元素     用元素.οnclick=function() 解决了

ajax请求在ie浏览器上的兼容性问题

因为要考虑用户还可能用其他的浏览器 就用 navigator.userAgent判断了下   字符串na含有IE则一定是IE浏览器  ie11有点不一样 里面有 里面含有Trident  然后给再给获取的元素绑定事件

这个时候算是解决了 这个问题  然后我接着往下走  返现 ajax请求确实发送了 响应的状态值也确实回来了  但数据库就是没发生变化   我查了下 原来是  ie浏览器的缓存问题  ,如果发现请求每次都是同一个地址的话 他就优先去缓存中取数据  这就导致看似我们的ajax发送了 但数据确一直没有变化  这个时候 我们可以使用在地址后面加随机数 让浏览器认为我们每次请求得地址 不同

ajax请求在ie浏览器上的兼容性问题

在地址后面加一个随机数参数  url+"?t="+Math.random()   我们在后台还是 照样取 后面的 id和status 参数就可以了 前面得那个 t参数扔了不用就行了  同时  我们还要用上  $.ajaxSetup({cache:false})禁止他每次从缓存中取数据  就可以 了

经过一个晚上得努力 虽然调试了很长时间 但最后解决了 还是很开心