日期:2014-05-17  浏览次数:20361 次

异步获取xml数据成功,但无法通过loadxml加载
通过如下方式:
oHttpReq.open("POST", "gsSub_Info.aspx?Id="+state, false); 
oHttpReq.send(""); 
result = oHttpReq.responseText;
可以获取result的值如下:
<?xml version="1.0" encoding="gb2312"?>
<NewDataSet>
    <Table>
        <sub_id>2</sub_id>
        <sub_name>商品小类2</sub_name>
    </Table>
</NewDataSet>

但是如下:
var oDoc = new ActiveXObject("Msxml2.DOMDocument"); 
oDoc.async = false;
oDoc.resolveExternals = false;
oDoc.loadXML(result);
items1 = oDoc.selectNodes("//NewDataSet/Table/sub_id"); 
document.getElementById("gsSub_id").value = items1[0].text;

gsSub_id得不到值,何解?恳求各位大侠出手相助,谢谢!

异步 xml

------解决方案--------------------
我也遇到过着问题,我不会解决,问别人,别人让我用Jquery的Ajajx解决的 PS:我是用来做 二级下拉 不刷新联动。
------解决方案--------------------
下拉菜单没有多少数据,换成json或者直接拼接字符串岂不是更好,
------解决方案--------------------
試下這個對象

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");   
    xmlDoc.async = false;  
    xmlDoc.load("dd.xml");  
   var nodes = xmlDoc.documentElement.childNodes;  
  
  for(var i=0;i<nodes.length;i++){  
     var node = nodes[i];  
     alert(node.childNodes[0].text+","+node.childNodes[1].text);  
  }  
------解决方案--------------------

测了一下,可以取到数据,看一下浏览器设置。
------解决方案--------------------
先弹出看看得到的内容再说.
------解决方案--------------------
说明你那句话有问题,打卡ie调试,看看是不是报错了。
另外,微软的东西,换了浏览器,就不好用了。