Javascript 无法使用jQuery从外部文件加载xml

Javascript 无法使用jQuery从外部文件加载xml,javascript,jquery,xml,Javascript,Jquery,Xml,我试图使用以下代码加载外部xml,但它不起作用 $( document ).load( "data.xml", function( response, status, xhr ) { console.log( xhr.status + " " + xhr.statusText ); }); 我在同一个文件夹中有data.xml和js文件 在chrome中,它返回404错误 在FF中,it重新运行0[异常…“拒绝访问受限URI”代码:“1012”nsresult:“

我试图使用以下代码加载外部xml,但它不起作用

$( document ).load( "data.xml", function(  response, status, xhr ) {        
    console.log( xhr.status + " " + xhr.statusText );
  });
我在同一个文件夹中有
data.xml
js
文件

在chrome中,它返回404错误

在FF中,it重新运行
0[异常…“拒绝访问受限URI”代码:“1012”nsresult:“0x805303f4(NS\u错误\u DOM\u错误\u URI)”

我不明白为什么会发生这种情况?请解释一下这个问题

更新:我使用下面提到的
$.get()
进行了一次尝试,但仍然没有成功

同时,我也尝试使用纯js,如下所示

function loadXMLDoc(dname) {
    if (window.XMLHttpRequest)    {
      xhttp=new XMLHttpRequest();
      }
    else {
      xhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xhttp.open("GET",dname,false);
    xhttp.send();
    return xhttp.responseXML;
}
    xmlDoc=loadXMLDoc("data.xml");
    console.log(xmlDoc);
仍然面临错误

FF中的错误:NS\u错误\u DOM\u错误\u URI:对受限URI的访问被拒绝[在此错误上中断]

xhttp.send()

chrome中出现错误:XMLHttpRequest无法加载file:///C:/Users/admin/Desktop/public_html%281%29/public_html/data.xml. 跨源请求仅支持HTTP.xml.js:13 Uncaught 网络错误:发生网络错误

更新:
我发现这很有用,但是有什么办法可以解决这个问题吗?

也许这就是你想要的

$(document).ready(function(){
    $.ajax({
        url: 'data.xml',
        dataType: 'xml',
        success: function(response, status, xhr){
           console.log( xhr.status + " " + xhr.statusText );
        }
     });
});
更新


经过长期的斗争,在社区的帮助下,我发现了这个问题

同源策略限制从中加载文档或脚本的方式 一个源可以与另一个源的资源交互

这意味着这在系统文件中是不可能的,所以在这个帮助下,我使用WAMPServer来运行我的脚本,它工作得很好

 $.get("http://localhost/public_html(1)/public_html/xml/data.xml",
                                     function(  response, status, xhr ) {        
        console.log( response );
    });

谢谢!

$(document).load(“data.xml”
没有任何意义。首先,你几乎肯定想在这里使用
.get()
,而不是
.load()
。@KevinB那么我需要使用任何元素吗?例如
$(“#someid”).load(..
如果我的意思不对,请纠正我?@Pointy我尝试使用
.get()
但它没有记录控制台消息。我希望您正在使用本地Web服务器来测试这一点。查看控制台错误输出,我发现您正在尝试从
文件://
协议获取一个文件,而该文件应该是根文件夹的相对路径,然后根文件夹使用
http://
协议。我尝试过,但它不起作用。我很抱歉没有收到任何控制台消息。不,这不起作用。相同的行为,但为了查看错误,我尝试了
$.ajax({url:'data.xml',dataType:'xml',success:function(response,status,xhr){console.log(xhr.status+“”+xhr.statusText);},错误:function(response,status,xhr){console.log(xhr.status+“”+xhr.statusText);})
现在它记录
未定义的未定义的
表示仍有错误。@PraveenJeganathan以您当前的方式执行它也不起作用?此答案中的方式比您当前所做的要正确得多。您应该使用此答案并添加一个错误回调,然后console.log错误回调中的三个参数back.xml很可能无效。“错误的第三个参数:不是xhr,而是字符串。因此,您当然没有定义。完整地记录它。@KevinB我像
error:function(response,status,err){console.Log(err);}一样完整地尝试了它。”
但只打印空日志。看了5分钟,马上就看到了,设置本地主机是解决这类问题的方法^^