javascript - Mempelajari beberapa isu yang terdapat dalam AJAX
ringa_lee
ringa_lee 2017-05-19 10:40:33
0
2
598
<html>
<head>
<script type="text/javascript">
var xmlhttp;

function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Mozilla, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5, IE6
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=onResponse;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}

function onResponse()
{
if(xmlhttp.readyState!=4) return;
if(xmlhttp.status!=200)
  {
  alert("Problem retrieving XML data");
  return;
  }

txt="<table border='1'>";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");//这行是什么意思??其中的CD又是什么意思??之前看到的都是document,这个documentElement是什么意思??
for (i=0;i<x.length;i++)
  {
  txt=txt + "<tr>";
  xx=x[i].getElementsByTagName("TITLE");
    {
    try
      {
      txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";//这行什么意思???
      }
    catch (er)
      {
      txt=txt + "<td> </td>";
      }
    }
  xx=x[i].getElementsByTagName("ARTIST");
    {
    try
      {
      txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
      }
    catch (er)
      {
      txt=txt + "<td> </td>";
      }
    }
  txt=txt + "</tr>";
  }
txt=txt + "</table>";//这标签只要加一个就能在解析时自动补全吗??
document.getElementById('copy').innerHTML=txt;
}

</script>
</head>

<body>
<p id="copy">
<button onclick="loadXMLDoc('/example/xmle/cd_catalog.xml')">Get CD info</button>
</p>
</body>
</html>

Kod di atas adalah contoh kod dalam W3CSchool yang saya lihat semasa saya belajar AJAX dari w3cschool Tujuannya adalah untuk memaparkan fail XML sebagai jadual HTML Namun, saya selalu merasakan ada sesuatu yang tidak kena, jadi saya pergi ke google sudah lama, tetapi saya masih tidak faham, tolong jelaskan kepada saya isu-isu yang dinyatakan dalam komen saya.

ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
滿天的星座

Dokumen merujuk kepada model dokumen, documentElement ialah elemen

x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");//Apakah maksud baris ini? ? Apakah maksud CD itu? ? Apa yang saya lihat sebelum ini ialah document. Apakah maksud documentElement ini? ? merujuk kepada mendapatkan koleksi bernama "CD" dalam XML yang dikembalikanx=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");//这行是什么意思??其中的CD又是什么意思??之前看到的都是document,这个documentElement是什么意思??指获取返回的XML中的标签名为"CD"的集合

txt=txt + "" + xx[0].firstChild.nodeValue + "";//这行什么意思???
txt=txt + "" + xx[0].firstChild.nodeValue + "";//Apakah maksud baris ini? ? ?
xx=x[i].getElementsByTagName("TITLE");

merujuk kepada kandungan elemen anak pertama di bawah teg TITLE🎜
漂亮男人
  1. xmlhttp ialah objek yang dikembalikan oleh ajax anda Begitu juga, responseXML dan documentElement berikut ialah kaedah yang sepadan dengan objek sebelumnya. xmlhttp是你的ajax返回的对象,同样的,后面的responseXML,documentElement就是前一个对象下对应的方法。

  2. 而后面的getElementsByTagName类比于找到所有tagCD的内容。如果你能看到ajax请求回来的xml的话,你就能在中间找到<CD></CD>这样的代码。

  3. txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";作用是拿到 title 下的第一个节点的值插入到td标签里面

  4. txt=txt + "</table>"当然不是加一个就自动补全,这个是闭合标签,前面起始的txt="<table border='1'>";

getElementsByTagName berikut adalah serupa dengan mencari semua kandungan yang tagnya ialah CD. Jika anda dapat melihat xml dikembalikan oleh permintaan ajax, anda boleh mencari kod seperti <CD></CD> di tengah. 🎜🎜 🎜🎜txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";Fungsinya adalah untuk mendapatkan title Nilai nod pertama dimasukkan ke dalam tag td🎜🎜 🎜🎜txt=txt + "</table>" Sudah tentu, penambahan satu tidak akan melengkapkannya secara automatik Ini ialah teg penutup, bermula dengan txt="<table border= ' 1'>"; tag, 🎜🎜 🎜
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan