如何加载外部XML获取数据到Phonegap应用程序

How to load external XML to get data into Phonegap app

本文关键字:数据 获取 Phonegap 应用程序 XML 外部 何加载 加载      更新时间:2023-09-26

我正在使用Phonegap构建一个应用程序,从外部URL获取数据,然后使用javascript显示信息。

下面是我在索引文件中获取xml的代码:

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","http://EXAMPLESITE.com/EXAMPLE.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;  

我目前正在使用xcode进行测试,无法让它在模拟器或测试设备上显示任何内容。

我还尝试在plist中添加ExternalHosts键,并列出了我试图访问的域。

谁能帮我解决这个问题?谢谢你

XMLHttpRequest是异步的,您需要等待XML加载后再尝试访问它。为此,您可以使用onLoad处理程序:

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","http://EXAMPLESITE.com/EXAMPLE.xml",false);
xmlhttp.onLoad = function() {
    // Data is loaded, now it can be used:
    xmlDoc = xmlhttp.responseXML;
    // Do something with xmlDoc...
}
xmlhttp.send();

您还应该查找其他内容,例如错误等,请参阅完整文档- https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest