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就可以了。

原文地址:https://www.cnblogs.com/mediciyan/p/4154345.html