使用JavaScript下载xml文件并将其保存在变量中
我正在使用jQuery Mobile创建PhoneGap应用程序。 我有一个位于互联网服务器上的xml文件(可通过网络服务器访问(例如http://www.example.com/myXmlFile.xml))。我想以某种方式读取这个xml文件,并将该文件的内容作为一个字符串保存在一个变量中。 你会如何做到这一点?使用JavaScript下载xml文件并将其保存在变量中
var contentOfXmlFile = "";
read Xml file --> Save it in the contentOfXmlFile variable.
alert(contentOfXmlFile);
之后,xml文件中的文本将显示在警报窗口中。
只需使用AJAX:
var myXML = ""
var request = new XMLHttpRequest();
request.open("GET", "http://www.example.com/myXmlFile.xml", true);
request.onreadystatechange = function(){
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
myXML = request.responseXML;
}
}
}
request.send();
变量myXML将是一个XML文档,你可以操纵。
你可以做到这一点与一个ajax查询类似follwing ...
jQuery.ajax({
type :"GET",
url : dataUrl,
success : function(dataXML){
//dataXML will have the complete xml..
},
error : function(){
//error handler..
}
});
哪里dataUrl是您的网址为XML。
这可能会违反跨域策略,因为PhoneGap在'localhost'上运行。但我可能是错的。 –
对于跨域,希望我们需要使用'JSONP',但我还没有尝试过。 –
当您从移动设备上的file://协议运行时,不会应用跨域策略。 –
由于您正在关闭PhoneGap,因此任何AJAX请求都会违反跨域策略。你看过JSONP请求吗? –
当您从移动设备上的file://协议运行时,不会应用跨域策略。 –