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

5 篇文章 0 订阅

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunchong_zhao

帮到你了,请作者喝杯矿泉水可好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值