您的位置:首页 > Web前端 > JQuery

jquery在ie上无法正确解析xml

2011-03-04 10:26 375 查看
在这个浩瀚的地球上,IE在浏览器的世界里占据了绝大的比例,特别是非IT界的民众

在上一个私活中,用户是一个非IT界的网民,观其环境便是win7+IE8,为配合,开发测试我也在IE8上跑。

在使用jquery做ajax效果,从服务器获取xml数据,出现了诡异的问题。经调试发现,服务器已经返回了xml数据,但是js上总是执行不出正确的效果(解析不出正确的数据),仔细检查了服务器返回的xml,确实的标准的。在IE8上久久不成功之际,转战firefox得到了正确的效果,我了个去,又是一个浏览器不兼容的问题。

在多次google之后,发现问题是这样的,IE将从服务器获取到的xml数据作为String格式给和谐掉了,也就是说,本来我是要一个xml格式的数据文件,服务器也给了一个xml格式的数据文件,但是IE在接收到文件时,不按照xml格式解析给我,而是给了我一个String格式的破文件。

好了,找到问题出在哪,就好解决了。在得到数据文件是,做个判断,判断其是否String格式,如果是,则将其转换成xml的,然后再继续解析。具体代码如下

$.ajax( {
type : "POST",
url : convertUrl("url"),
dataType : "xml",
data : "id="+encodeURIComponent(id),
success : function(xmlData){
// 特殊处理如下
var xml;
if( typeof xmlData == "string" ){
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(xmlData);
} else {
xml = xmlData;
}
// 特殊处理结束,下面该怎么写怎么写
},
error : function(){
// 该怎么写怎么写
}
});


学习交流><欢迎拍砖
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: