当页面加载时,此函数运行,但仅到达警报 2,我怀疑由于上一行中的错误,它没有到达警报 3 var id_array = xmlDoc.getElementsByTagName("id");
。我曾尝试研究getElementsByTagName()
我是否正确使用它,但我仍然觉得我是。
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var xmlDoc = xmlhttp.responseXML;
alert("2");
var id_array = xmlDoc.getElementsByTagName("id");
alert("3");
for(id in id_array)
{
// do something with the id
}
}
}
xmlhttp.open("POST", "xmlDoc.xml", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send();
alert("1");
这是它应该读取的 xml 文档的示例。实际文件生成 x 数量的“id”,其中包含来自 sql 数据库的不同信息。
<id>
<name><![CDATA[<?php echo $query_array["name"]; ?>]]></name>
<latitude><![CDATA[<?php echo $query_array["latitude"]; ?>]]></latitude>
<longitude><![CDATA[<?php echo $query_array["longitude"]; ?>]]></longitude>
<color><![CDATA[<?php echo $color_array["color_id"]; ?>]]></color>
<color_r><![CDATA[<?php echo $color_array["red"]; ?>]]></color_r>
<color_g><![CDATA[<?php echo $color_array["green"]; ?>]]></color_g>
<color_b><![CDATA[<?php echo $color_array["blue"]; ?>]]></color_b>
<text><![CDATA[<?php echo $user_array["comment"]; ?>]]></text>
</id>
<id>
<name><![CDATA[<?php echo $query_array["name"]; ?>]]></name>
<latitude><![CDATA[<?php echo $query_array["latitude"]; ?>]]></latitude>
<longitude><![CDATA[<?php echo $query_array["longitude"]; ?>]]></longitude>
<color><![CDATA[<?php echo $color_array["color_id"]; ?>]]></color>
<color_r><![CDATA[<?php echo $color_array["red"]; ?>]]></color_r>
<color_g><![CDATA[<?php echo $color_array["green"]; ?>]]></color_g>
<color_b><![CDATA[<?php echo $color_array["blue"]; ?>]]></color_b>
<text><![CDATA[<?php echo $user_array["comment"]; ?>]]></text>
</id>
<id>
<name><![CDATA[<?php echo $query_array["name"]; ?>]]></name>
<latitude><![CDATA[<?php echo $query_array["latitude"]; ?>]]></latitude>
<longitude><![CDATA[<?php echo $query_array["longitude"]; ?>]]></longitude>
<color><![CDATA[<?php echo $color_array["color_id"]; ?>]]></color>
<color_r><![CDATA[<?php echo $color_array["red"]; ?>]]></color_r>
<color_g><![CDATA[<?php echo $color_array["green"]; ?>]]></color_g>
<color_b><![CDATA[<?php echo $color_array["blue"]; ?>]]></color_b>
<text><![CDATA[<?php echo $user_array["comment"]; ?>]]></text>
</id>
所以我的预期行为是 id_array (在这个例子中)得到 3 个单元格(每次出现一个),每个单元格都包含标签中的所有数据。
但同样,我怀疑 id_array 分配中的一个错误正在阻止任何事情发生。
任何帮助都会很棒!