在做项目的过程中,经常碰到ie的不兼容问题,目前大部分问题主要集中在ie8、ie9这两款浏览器上。 ????最近碰到的问题就是jquery的$.ajax方法不兼容ie9的问题。网上的方法是用jsonp或者cors跨域的方法来解决。 ???首先 jsonp只能使用get请求,无法使用post请求,而cors跨域也只能解决部分问题。我尝试了几种方法都不行。最后使用XDomainRequest解决了问题。代码中应当引入 ??: ???<script src="js/jquery-1.9.1.min.js"></script> ???<script src="js/jquery.xdomainrequest.min.js"></script>xdomainrequest这个js文件可以从github上下载。下载地址: ???https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest ???还有一个问题,引入之后, ???????$.ajax({ ???type: ‘post‘, ???url: pubUrl + ‘/menu/0‘, ???dataType: ‘json‘, ???async: true, ???success: function(data){ ???????$.each(data,function(i,v){ ???????????var html = ‘<li><a href="‘+v.url+‘" id="‘+v.id+‘">‘+v.name+‘</a></li>‘; ???????????$(‘.nav-list ul‘).append(html) ???????}) ???}, ???error: function(err){ ???????console.log(err) ???}});async要改成异步true,而不是同步,否则还是无法显示。
关于jquery的$ajax不兼容ie的问题
原文地址:http://blog.51cto.com/11365839/2347730