今天在测试项目时,换了台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"));
}
改成这样的形式,就好了。