Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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/8/visual-studio-code/3.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 http请求无法从服务器打开RSS文件,XML状态=0_Javascript_Xml_Rss_Xmlhttprequest_Xml Parsing - Fatal编程技术网

Javascript XML http请求无法从服务器打开RSS文件,XML状态=0

Javascript XML http请求无法从服务器打开RSS文件,XML状态=0,javascript,xml,rss,xmlhttprequest,xml-parsing,Javascript,Xml,Rss,Xmlhttprequest,Xml Parsing,我正在尝试使用javascript解析RSS提要,最近在从localhost和web服务器打开XML文件时遇到了一个问题(在localhost上工作时,我总是使用http://关键字访问本地文件)。在所有浏览器中,我收到的是XML状态0,而不是状态200(已建立)。只有当我试图打开托管在服务器上的XML文件时,问题才会出现。以下是我所拥有的: if(window.ActiveXObject)//IE xml_req = new ActiveXObject("Microsoft.XMLHT

我正在尝试使用javascript解析RSS提要,最近在从localhost和web服务器打开XML文件时遇到了一个问题(在localhost上工作时,我总是使用http://关键字访问本地文件)。在所有浏览器中,我收到的是XML状态0,而不是状态200(已建立)。只有当我试图打开托管在服务器上的XML文件时,问题才会出现。以下是我所拥有的:

if(window.ActiveXObject)//IE
    xml_req = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
    xml_req = new XMLHttpRequest();
    else alert('no ajax support');

xml_req = new XMLHttpRequest();
var url = "http://www.something.net/rss.xml";
xml_req.open("GET", url, true);

xml_req.onreadystatechange = function(){
    if(xml_req.readyState == 4){
        if(xml_req.status == 200){
            if(xml_req.responseText != null)
                .....//DO STUFF
            else{
                alert("Error");
                return false;
            }
        }
        else{
                  //THIS IS WHERE THE ERROR OCCURS,STATUS=0 INSTEAD OF 200
               alert("XML Status = " + xml_req.status + xml_req.statusText);}
    }
}
当我打开一个不在服务器上托管的XML本地文件时,一切正常。例如,下面的代码可以很好地打开本地主机中的rss文件:

var url = "rssLocalhost.xml";
xml_req.open("GET", url, true);

请帮忙!非常感谢任何人的建议。谢谢

谢谢你。您需要通过自己的服务器代理数据,或者使用JSON-P数据源。

这非常有用,谢谢您的回答。所以,如果我试图使用来自JSON-P数据源的数据,那么数据将是原始XML还是必须更改解析器中的一些代码?(因为我的解析器目前只解析XML文件)如果您有一个JSON-P数据源,那么它将是JSON-P,而不是XML。是的,如果我使用JSONP,看起来会容易得多,但这对我来说是一个很好的体验:)