javascript - Confused about AJAX XMLHttpRequest -


जावास्क्रिप्ट है

  फ़ंक्शन loadXMLDoc () {xmlhttp = new XMLHttpRequest (); Xmlhttp.onreadystatechange = function () {if (xmlhttp.readyState == 4 & amp; xmlhttp.status == 200) {x = xmlhttp.responseXML.documentElement.getElementsByTagName ("कॉल करें"); Txt = x + x.length; document.getElementById ( "myDiv") innerHTML = txt। }} Xmlhttp.open ("GET", "ajax / calls.xml", सच) xmlhttp.send (); }  

प्रतिक्रिया (फायरबग द्वारा देखी गई)

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "आईएसओ -885 9 -1"? & Gt ; & LT; कॉल & gt; & LT; आईडी & gt; 0 & lt; / आईडी & gt; & Lt; / कॉल & gt;  

मुझे उम्मीद है कि यह "[0], 1" (जैसे कि एक तत्व के साथ एक सूची और सूची की लंबाई) की तरह कुछ मुद्रित करे, लेकिन इसके बजाय "[ऑब्जेक्ट नोडलिस्ट] 0 "है, इसलिए यह किसी भी" कॉल "तत्वों को बिल्कुल भी नहीं देखता है। क्या गलत हो रहा है? धन्यवाद।

एक्स एक XML नोड लिस्ट है

  var txt = x .item (0) .nodeValue + ',' + x.item (0) .childNodes.length;  

अपडेट

  var कॉल = xmlhttp.responseXML.documentElement; Var आईड्स = call.getElementsByTagName ('आईडी'); Var txt = call.nodeName + ',' + call.nodeValue + ',' + ids.length;  

childNodes फ़ील्ड 3 तत्व दो रिक्त पाठ नोड्स ( और lt; आईडी & gt; 2 & lt; / ID & gt; से पहले और बाद में)

  विविध बच्चों = कॉल.चिल्डनोड; के लिए (i = 0; i & lt; children.length; ++ i) {println ("" "+ children.item (i) .textcontent +" '"); }  

प्रिंट

  '' '0' ''  

Comments