Javascript XDomainRequest总是有错误

Javascript XDomainRequest总是有错误,javascript,internet-explorer,xml-parsing,xdomainrequest,Javascript,Internet Explorer,Xml Parsing,Xdomainrequest,我想知道是否有人能帮我解决这个问题,我在网上看到了一些使用XDomainRequest的示例,但它们并没有真正解释好代码。我正在尝试加载一个XML文件,以便对其进行解析。下面是我正在使用的代码 var xdr = new XDomainRequest(); xdr.onerror = function () { alert('Error!');

我想知道是否有人能帮我解决这个问题,我在网上看到了一些使用XDomainRequest的示例,但它们并没有真正解释好代码。我正在尝试加载一个XML文件,以便对其进行解析。下面是我正在使用的代码

    var xdr = new XDomainRequest();             
           xdr.onerror = 
           function () 
           {
                    alert('Error!');
           };               
           xdr.ontimeout = 
           function () 
           {
                    alert('Timeout!');
           };

           xdr.onprogress = 
           function () 
           {
                    alert('Loading...');
           };
           xdr.onload = 
           function() 
           {
                    alert('File:' + xdr.responseText);
           }

           xdr.timeout = 10000;
           xdr.open("GET","http://www.spectraltechnologies.co.uk/webbuilder2020/Instrument_Lamps_New.txt", false);
           xdr.send();
每次我尝试使用它时,它总是返回xdr.onerror和相应的警报。它请求的文件最初是一个XML文件,内部是XML格式的,但我制作了一个.txt副本,据我所知,这是XDomainRequest接受的唯一内容


我已经能够为Firefox和Chrome浏览器提供解决方案,但Internet Explorer给我带来了很多问题。我真的希望有人能帮上忙,提前谢谢。

我通过坚持XDomainRequest的冗长且非常具体的规范,解决了这个问题。我的第一个问题是,我访问的文件/站点的响应头不正确

此站点使用了“.htaccess”文件,因此我可以通过添加以下代码来解决此问题:

    <filesMatch "\Instrument_Lamps_New.txt$">
    <IfModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    </IfModule>
    </filesMatch>

标题添加访问控制允许源“*”
这段代码检查正在访问的文件是否是我想要指定头的文件,然后将其添加到头中

我的第二个问题是,使用XDomainRequest,您只能访问与打开请求的文件具有相同协议的文件。i、 e.http只打开http,https只打开https。由于调试该站点,我从自己的文件系统打开了该页面,因此出现错误的原因是“file://..." ≠ "http://...“

因此,在确保我的响应标题包含“访问控制允许来源”标题并上传页面后,它工作正常

此网站包含有关XDomainRequest的更多信息:

我通过坚持XDomainRequest的冗长且非常具体的规范解决了这个问题。我的第一个问题是,我访问的文件/站点的响应头不正确

此站点使用了“.htaccess”文件,因此我可以通过添加以下代码来解决此问题:

    <filesMatch "\Instrument_Lamps_New.txt$">
    <IfModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    </IfModule>
    </filesMatch>

标题添加访问控制允许源“*”
这段代码检查正在访问的文件是否是我想要指定头的文件,然后将其添加到头中

我的第二个问题是,使用XDomainRequest,您只能访问与打开请求的文件具有相同协议的文件。i、 e.http只打开http,https只打开https。由于调试该站点,我从自己的文件系统打开了该页面,因此出现错误的原因是“file://..." ≠ "http://...“

因此,在确保我的响应标题包含“访问控制允许来源”标题并上传页面后,它工作正常

此网站包含有关XDomainRequest的更多信息:

我不知道,也不知道在哪里可以找到它。返回错误的是XDomainRequest对象。这一行代码就是我如何知道我得到了错误:alert('error!');我不知道,也不知道在哪里可以找到它。返回错误的是XDomainRequest对象。这一行代码就是我如何知道我得到了错误:alert('error!');你知道我在用java和jsp我们怎么做吗?你知道我在用java和jsp我们怎么做吗。