我想在表格中显示XML数据。脚本是:
<script type="text/javascript">
var xhr= window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xhr.onreadystatechange= function() {
if (this.readyState===4 || this.status===200)
populateTable(this.responseXML);
};
xhr.open('GET', 'http://imenicka.cz/xml/menicko.php?hash=fccab45d85b39726611ab433f66263a7&restaurace=430&datum=2013-10-02', true);
xhr.send();
function populateTable(xml) {
var table= document.getElementById('cds');
var cds= xml.getElementsByTagName('MENICKO');
for (var i= 0; i<cds.length; i++) {
var row= table.insertRow(-1);
function getProperty(name) {
var el= cds[i].getElementsByTagName(name)[0];
if (el.firstChild)
return el.firstChild.data;
return ''; // allow empty elements
}
function addCell(value) {
row.insertCell(-1).appendChild(document.createTextNode(value));
}
addCell(getProperty('TEXT'));
addCell(getProperty('CENA'));
}
};
</script>
如果我想从
导入数据,它不起作用 xhr.open('GET', 'http://imenicka.cz/xml/menicko.php?hash=fccab45d85b39726611ab433f66263a7&restaurace=430&datum=2013-10-02', true);
。
但是如果我从文件夹中获取数据,那么就可以了。
xhr.open('GET', 'menicka.xml', true);
我对javascript知之甚少,所以我无法理解。
答案 0 :(得分:0)
http://imenicka.cz/xml/menicko.php?hash=fccab45d85b39726611ab433f66263a7&restaurace=430&datum=2013-10-02
的回复属于text/html
,而不是application/xml
。
这意味着它不被视为XML的响应和responseXML
将为空。
您可以在此处添加提醒来测试:
//...
alert(this.responseXML);
populateTable(this.responseXML);
//...