首页 > 代码库 > Jquery ajax传递xml方式在ie8下兼容问题

Jquery ajax传递xml方式在ie8下兼容问题

要写的东西是一个工作日志页面,要求不能分页,一天写入一条数据。考虑到服务器的性能问题,使用一次性全从数据库中读出数据在方法,如果时间长了,页面在加载的时候会很慢,而且会造成浪费。所以我采用ajax技术,一次读3条数据,随着滚动条滑动加载。这样就能很好的降低服务器的压力,虽然项目不大。

项目提交的时候才发现,我写的工作日志页面居然在ie8下不能正常显示。按理来说,Jquery应该已经帮我解决了ajax创建xmlDOM时的兼容性的问题,仔细排查了以后发现是ie8对xml解析的问题。

找了资料后解决办法如下:

$.ajax({       type:’GET’,     url:’list.php?pagenow=’+count,     data:’xml’,//可以留空,但千万别写text或者html       error:function(xml){         //这里是错误代码               $(“#news”).html(“there is something worong with your xml”);     },    success:function(data){     //成功代码      var xml;       var browser=navigator.appName;       var b_version=navigator.appVersion;       var version=parseFloat(b_version);    //判断浏览器版本是不是ie8以下      if ( browser==”Microsoft Internet Explorer” && version<=4) {        xml = new ActiveXObject(“Microsoft.XMLDOM”);        xml.async = false;        xml.loadXML(data);      }else{ xml =data; }      //下面的代码,该怎么写就怎么写  }});

 

主要问题就是ie8把xml格式在打开的时候转换成了string,我们只用把其转换回xml就可以了。

Jquery ajax传递xml方式在ie8下兼容问题