【发布时间】:2012-01-27 22:00:18
【问题描述】:
我正在使用 HTML 格式的 iPhone 应用程序。它需要从存储在远程服务器中的 xml 中检索内容并将其内容显示在列表中。
当 xml 文件使用此代码存储在同一服务器中时,我已经实现了这一点:
<body>
<div id="container">
<div id="header">
<h1><a href="./">BurgerFast</a></h1>
<p>Menú</p>
<div>
<div id="nav">
<ul>
<span id="lista"></span>
</ul>
</div>
<div id="footer">
<ul>
<li><a href="/assets/cl.png">Acerca de</a></li>
<li><a href="/assets/cl.png">Ayuda</a></li>
</ul>
</div>
</div>
</div>
</div>
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","assets/note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var item = xmlDoc.getElementsByTagName("item")
var myElems = "";
for(i = 0 ; i < item.length ; i++){
myElems = myElems + "<li><a>" + item[i].getElementsByTagName("name")[0].childNodes[0].nodeValue + "</li></a>";
}
document.getElementById("lista").innerHTML = myElems;
</script>
</body>
到目前为止,没问题。由于文件托管在同一台服务器上工作得很好,但我希望能够从不同的服务器加载 xml,但我的。当我换行时:
xmlhttp.open("GET","assets/note.xml",false);
然后这样:
xmlhttp.open("GET","http://173.236.56.146/~crayonli/xml/note.xml", true);
每次 xmldoc 为空时它都会告诉我,我不明白,它是同一个该死的 xml。
我只是看不出我的错误在哪里。谁能告诉我?
【问题讨论】:
-
正如 John_doe 指出的,您可以在不同的服务器上调用 Ajax。但是您可以为此使用 jsonp en.wikipedia.org/wiki/JSONP
-
哈哈,n00b 错误。非常感谢。
标签: javascript xml xmlhttprequest