Microsoft.XMLHTTP与Msxml2.XMLHTTP的区别在哪里??

handcool 2006-09-04 12:58:43
function ajaxRead(file){
var http_request = null;
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {}
}
} http_request.onreadystatechange = function(){
if(http_request.readyState == 4){
proXML(http_request.responseXML);
}
}
http_request.open ('GET', file, true);
http_request.send ('');
}
function proXML(obj){
var dataArray = obj.getElementsByTagName('employees')[0].childNodes;
var dataArrayLen = dataArray.length;
var insertData = '<table><tr><th>'
+ 'Pets</th><th>Tasks</th></tr>';
var empl;
for (var i=0; i<dataArrayLen; i++){
if(dataArray[i].getAttribute('name')){
insertData += '<tr><td>' + dataArray[i].getAttribute('name') + '</td>'
+ '<td>';
empl = dataArray[i].childNodes;
insertData += empl[0].tagName+':'+empl[0].firstChild.data+' ';
insertData += empl[1].tagName+':'+empl[1].firstChild.data;
insertData += '</td></tr>';
}
}
insertData += '</table>';
document.getElementById ('dataArea').innerHTML = insertData;
}
------------------------------------------------------------------------------------
在IE6.0下测试 能够得到所需的xml数据,但是如果http_request = new ActiveXObject("Microsoft.XMLHTTP");与http_request = new ActiveXObject("Msxml2.XMLHTTP");交换位置,也就是用Msxml2.XMLHTTP建立对象,运行到var dataArray = obj.getElementsByTagName('employees')[0].childNodes;就提示缺少对象.
读取的数据是asp文件如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Response.ContentType="text/xml"
%>
<?xml version="1.0" encoding="gb2312"?>
<employees>
<employee name="J.Doe">
<job>Programmer</job>
<salary>32768</salary>
</employee>
<employee name="A.Baker">
<job>Sales</job>
<salary>70000</salary>
</employee>
<employee name="Big Cheese">
<job>CEO</job>
<salary>100000</salary>
</employee>
<employee name="J.Doe">
<job>Programmer</job>
<salary>32768</salary>
</employee>
<employee name="A.Baker">
<job>Sales</job>
<salary>70000</salary>
</employee>
<employee name="Big Cheese">
<job>CEO</job>
<salary>100000</salary>
</employee>
</employees>
--------------------------------------------------------------
请高手赐教!!!
...全文
1812 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧