Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript下载xml文件并将其保存在变量中_Javascript_Jquery_Jquery Mobile_Cordova - Fatal编程技术网

使用JavaScript下载xml文件并将其保存在变量中

使用JavaScript下载xml文件并将其保存在变量中,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,我正在使用jQuery Mobile创建一个PhoneGap应用程序。 我有一个位于internet服务器上的xml文件(可通过web服务器(例如)访问)。我想以某种方式读取这个xml文件,并在Java脚本中将该文件的内容以字符串形式保存在变量中。 你会怎么做 var contentOfXmlFile = ""; read Xml file --> Save it in the contentOfXmlFile variable. alert(contentOfXmlFile); 在

我正在使用jQuery Mobile创建一个PhoneGap应用程序。 我有一个位于internet服务器上的xml文件(可通过web服务器(例如)访问)。我想以某种方式读取这个xml文件,并在Java脚本中将该文件的内容以字符串形式保存在变量中。 你会怎么做

var contentOfXmlFile = "";

read Xml file --> Save it in the contentOfXmlFile variable.

alert(contentOfXmlFile);

在此之后,xml文件中的文本将显示在警报窗口中。

您可以通过ajax查询来实现这一点,如以下内容

jQuery.ajax({
    type :"GET",
    url : dataUrl,
    success : function(dataXML){
        //dataXML will have the complete xml..
    },
    error : function(){
        //error handler..
    }
});

其中dataUrl是指向xml的URL。

您可以通过ajax查询来实现这一点,例如:

jQuery.ajax({
    type :"GET",
    url : dataUrl,
    success : function(dataXML){
        //dataXML will have the complete xml..
    },
    error : function(){
        //error handler..
    }
});
其中dataUrl是指向xml的URL。

只需使用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:

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文档。

这可能违反跨域策略,因为PhoneGap在
localhost
上运行。但我可能错了。对于跨域,希望我们需要使用
JSONP
,但我没有尝试过。当您在移动设备上从file://协议运行时,不会应用跨域策略。这可能违反跨域策略,因为PhoneGap在
localhost
上运行。但我可能错了。对于跨域,希望我们需要使用
JSONP
,但我没有尝试过。当您在移动设备上使用file://协议运行时,不会应用跨域策略。因为您是在PhoneGap之外进行操作,所以任何AJAX请求都会违反跨域策略。您研究过JSONP请求吗?当您在移动设备上从文件://协议运行时,不会应用跨域策略。因为您是在PhoneGap之外进行操作,所以任何AJAX请求都会违反跨域策略。您查看过JSONP请求吗?当您在移动设备上从文件://协议运行时,不会应用跨域策略。