部分IE版本无法解析xml字符串
2015-09-22 19:32
232 查看
今天在测试项目时,换了台win8系统的机器,结果以前一些可以用的程序,这里不能使用。调试了几个小时,总算找出问题并解决。
调试过程是这样的,最开始查看数据有没有从后台返回给前台,然后发现后台已经将数据封装成了xml格式的字符串,但是前台js解析的时候,未能正常解析,js中直接使用$(xmlstr).find("tagName");去获取,发现长度一直为0,但是同样的情况,在IE9,是没有这个问题的,然后就发现了这个是IE的兼容性问题。
知道兼容性问题的话,就好办了,查找怎么解决这种不兼容的情况,我猜测这个是没有正常将字符串识别为xml,所以导致find标签时find不到,所以我对这个xmlstr进行了一个xml格式强制转换,然后再去解析,就O了,哈哈。
具体解决代码如下:
var ajaxfxml = new ActiveXObject("Microsoft.XMLDOM");
ajaxfxml.async = false;
ajaxfxml.loadXML(xmlstr)
var $xml = $(ajaxfxml).find("tagName");
if($xml.length > 0)
{
var $node = $xml.eq(0);
$("#divID").html($node .attr("attrName"));
}
改成这样的形式,就好了。
调试过程是这样的,最开始查看数据有没有从后台返回给前台,然后发现后台已经将数据封装成了xml格式的字符串,但是前台js解析的时候,未能正常解析,js中直接使用$(xmlstr).find("tagName");去获取,发现长度一直为0,但是同样的情况,在IE9,是没有这个问题的,然后就发现了这个是IE的兼容性问题。
知道兼容性问题的话,就好办了,查找怎么解决这种不兼容的情况,我猜测这个是没有正常将字符串识别为xml,所以导致find标签时find不到,所以我对这个xmlstr进行了一个xml格式强制转换,然后再去解析,就O了,哈哈。
具体解决代码如下:
var ajaxfxml = new ActiveXObject("Microsoft.XMLDOM");
ajaxfxml.async = false;
ajaxfxml.loadXML(xmlstr)
var $xml = $(ajaxfxml).find("tagName");
if($xml.length > 0)
{
var $node = $xml.eq(0);
$("#divID").html($node .attr("attrName"));
}
改成这样的形式,就好了。
相关文章推荐
- linux连接mssqlserver
- configure: error: xml2-config not found. Please check your libxml2 installation.
- 暴力推荐 Android Studio 中 ADBWIFI 插件
- VS2012变化的快捷键
- 树莓派与夜视摄像头
- Extjs 自学1
- Hdu 5451 Best Solver (2015 ACM/ICPC Asia Regional Shenyang Online) 暴力找循环节 + 递推
- 数据库的大表设计问题
- shiro-cas 单点登录
- NSLog再见!!你好,CocoaLumberjack
- http-response-codes
- 第九周第二天
- iOS9 微信支付支付宝支付适配
- ios激情详解之GCD
- 为Web 开发者Bug 报告和跟踪工具
- 3D数学 RotationMatrix
- Networking - ICMP 协议
- 感想
- 用MPMoviePlayerController播放视频的方法
- 我终于成为了BZOJ权限狗