您好,登录后才能下订单哦!
本篇内容主要讲解“怎么建立XML HttpRequest对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么建立XML HttpRequest对象”吧!
utl.js
代码如下:
function createXmlTree(node, indent) { 
    if (node == null) 
        return ""; 
    var str = ""; 
    switch (node.nodeType) { 
        case 1:    // Element 
            str += "<div class='element'><<span class='elementname'>" + node.nodeName + "</span>"; 
            var attrs = node.attributes; 
            for (var i = 0; i < attrs.length; i++) 
                str += createXmlAttribute(attrs[i]); 
            if (!node.hasChildNodes()) 
                return str + "/></div>"; 
            str += "><br />"; 
            var cs = node.childNodes; 
            for (var i = 0; i < cs.length; i++) 
                str += createXmlTree(cs[i], indent + 3); 
            str += "</<span class='elementname'>" + node.nodeName + "</span>></div>"; 
            break; 
        case 9:    // Document 
            var cs = node.childNodes; 
            for (var i = 0; i < cs.length; i++) 
                str += createXmlTree(cs[i], indent); 
            break; 
        case 3:    // Text 
            if (!/^\s*$/.test(node.nodeValue)) 
                str += "<span class='text'>" + node.nodeValue + "</span><br />"; 
            break; 
        case 7:    // ProcessInstruction 
            str += "<?" + node.nodeName; 
            var attrs = node.attributes; 
            for (var i = 0; i < attrs.length; i++) 
                str += createXmlAttribute(attrs[i]); 
            str+= "?><br />" 
            break; 
        case 4:    // CDATA 
            str = "<div class='cdata'><![CDATA[<span class='cdata-content'>" +  
                node.nodeValue + 
            "</span>]" + "]></div>"; 
            break; 
        case 8:    // Comment 
            str = "<div class='comment'><!--<span class='comment-content'>" +  
                node.nodeValue + 
            "</span>--></div>"; 
            break; 
        case 10: 
                str = "<div class='doctype'><!DOCTYPE " + node.name; 
                if (node.publicId) { 
                    str += " PUBLIC \"" + node.publicId + "\""; 
                    if (node.systemId)  
                        str += " \"" + node.systemId + "\""; 
                } 
                else if (node.systemId) { 
                    str += " SYSTEM \"" + node.systemId + "\""; 
                } 
                str += "></div>"; 
                // TODO: Handle custom DOCTYPE declarations (ELEMENT, ATTRIBUTE, ENTITY) 
                break; 
        default: 
            //alert(node.nodeType + "\n" + node.nodeValue); 
            inspect(node); 
    } 
    return str; 
} 
function inspect(obj) { 
    var str = ""; 
    for (var k in obj) 
        str += "obj." + k + " = " + obj[k] + "\n"; 
    window.alert(str); 
} 
function createXmlAttribute(a) { 
    return " <span class='attribname'>" + a.nodeName + "</span><span class='attribvalue'>=\"" + a.nodeValue + "\"</span>"; 
}
代码如下:
<HTML><HEAD><TITLE>Ajax test</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT src="Ajax test_files/utl.js"></SCRIPT>
<LINK rev=stylesheet media=all href="Ajax test_files/Ajax.css" type=text/css 
rel=stylesheet>
<SCRIPT>
//------------ XMLHttpObj类 ----------------
function XMLHttpObject(url,Syne){
 var XMLHttp=null
 var o=this
 this.url=url
 this.Syne=Syne
 this.sendData = function()
  {
    if (window.XMLHttpRequest) {
       XMLHttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
       XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    with(XMLHttp){
     open("GET", this.url, this.Syne);
     onreadystatechange = o.CallBack;
     send(null);
    }
  }
 this.CallBack=function()
  {
    if (XMLHttp.readyState == 4) {
        if (XMLHttp.status == 200) {
          o.debugXML("readyState:" + XMLHttp.readyState + "<br/>")
          o.debugXML("status :" + XMLHttp.status + "<br/>")
          o.debugXML(" <div style='background:#ffc;margin-left:10px;border:1px solid #669;padding:3px'>" + createXmlTree(XMLHttp.responseXML,0) + "</div>")
        }
    }
  }
 this.getText=function()
  {
   if (XMLHttp==null) {return "还没加载 XMLHttpRequest"}
   if (XMLHttp.readyState==4) {return XMLHttp.responseText}
   return XMLHttp.readyState
  }
 this.debugXML=function(log)
  {
   try{document.getElementById("XMLDebug").innerHTML+=log}
   catch(e){}
  }
}
var XMLDoc1=new XMLHttpObject("tree.xml",true)
</SCRIPT>
<META content="MSHTML 6.00.3790.2706" name=GENERATOR></HEAD>
<BODY><SELECT 
onchange='XMLDoc1.url=this.value;document.getElementById("XMLDebug").innerHTML=""'> 
  <OPTION value=tree.xml selected>tree.xml</OPTION> <OPTION 
  value=xtree.xsl>xtree.xsl</OPTION> <OPTION value=/feed.asp>Blog 
Feed</OPTION></SELECT> <INPUT onclick=XMLDoc1.sendData() type=button value=XMLDoc1.sendData()> <INPUT onclick=alert(XMLDoc1.getText()) type=button value=XMLDoc1.getText()> <INPUT onclick="if (confirm('clear log?')) {document.getElementById('XMLDebug').innerHTML=''}" type=button value=ClearLog> 
<DIV id=XMLDebug></DIV></BODY></HTML>
代码如下:
HTML {
 BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px
}
BODY {
 BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px
}
BODY {
 BACKGROUND: buttonface; FONT: Message-Box
}
FORM {
 PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
FIELDSET FIELDSET {
 MARGIN: 5px
}
BUTTON {
 MARGIN-LEFT: 5px
}
TEXTAREA {
 WIDTH: 100%; HEIGHT: 200px
}
#out {
 BORDER-RIGHT: threeddarkshadow 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: threeddarkshadow 1px solid; MARGIN-TOP: 5px; PADDING-LEFT: 3px; BACKGROUND: white; PADDING-BOTTOM: 3px; BORDER-LEFT: threeddarkshadow 1px solid; COLOR: black; PADDING-TOP: 3px; BORDER-BOTTOM: threeddarkshadow 1px solid; FONT-FAMILY: Verdana
}
#srcTextContainer {
 DISPLAY: none
}
.element {
 PADDING-LEFT: 16px; COLOR: blue
}
.elementname {
 COLOR: darkred
}
.attribname {
 COLOR: red
}
.attribvalue {
 COLOR: blue
}
.text {
 PADDING-LEFT: 16px; COLOR: windowtext
}
.cdata-content {
 DISPLAY: block; PADDING-LEFT: 16px; BORDER-LEFT: gray 1px solid; COLOR: windowtext; FONT-FAMILY: Courier New; WHITE-SPACE: pre
}
.comment {
 PADDING-LEFT: 16px; COLOR: blue
}
.doctype {
 PADDING-LEFT: 16px; COLOR: blue
}
.comment-content {
 DISPLAY: block; COLOR: gray; FONT-FAMILY: Courier New; WHITE-SPACE: pre
}
#XMLDebug {
 BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #000 1px solid; MARGIN-TOP: 6px; PADDING-LEFT: 4px; FONT-SIZE: 12px; BACKGROUND: #fff; PADDING-BOTTOM: 4px; OVERFLOW: auto; BORDER-LEFT: #000 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #000 1px solid; HEIGHT: 400px
}
到此,相信大家对“怎么建立XML HttpRequest对象”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。