本人在服务器上调试程序 发现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})禁止他每次从缓存中取数据 就可以 了
经过一个晚上得努力 虽然调试了很长时间 但最后解决了 还是很开心