ajax在ie浏览器中读取xml文件出错问题
2013-03-24 21:09 king0222 阅读(374) 评论(0) 编辑 收藏 举报ajax在ie浏览器中读取xml文件出错问题
ie是个让人呕吐的东西,恨不得早点灭绝;
当我们在使用jquery的ajax方法去获取xml数据的时候,除了IE外,其他浏览器基本上没什么大问题,我们可以通过下面的代码轻松得到想要的数据:
1 $.ajax({ 2 url:'xxx.xml', 3 dataType:'xml', 4 success:function(data){ 5 var res=$(data).find('xxx'); 6 //todo ... 7 }, 8 error:function(error){ 9 console.log('error:'+error); 10 } 11 });
但是当我们用IE去测试结果的时候又恨不得把IE斯巴烂了。
ie浏览器不能解析xml,却将它解析为text类型的对象。因此如果不知道这一点的话,天杀啊,我们只能傻傻不知所措。所以我们需要加个dataType:'text'给它:
$.ajax({ url:'xxx.xml', dataType:($.browser.msie)?'text':'xml', success:function(data){ var res=""; if($.browser.msie){ res = new ActiveXObject("Microsoft.XMLDOM"); res.async = false; res.loadXML(data); } else { res = data; } res=$(data).find('xxx').text(); //todo ... }, error:function(error){ console.log('error:'+error); } });
看代码吧,一看就懂。