繁体   English   中英

浏览器使用JQuery解析XML问题

[英]Browser Problems Parsing XML With JQuery

我需要使用JQuery访问XML文件。 我尝试了这两种方式,但似乎无法将它们包含在一个浏览器中。

这里:

在Chrome浏览器中,这有效:

var xml = "<music><album>Beethoven</album></music>";
var result = $(xml).find("album").text();
alert(result);

现在,我尝试将其与此代码段结合使用,在IE中可以正常工作:

jQuery.get('fruits.xml', function(data) {
    alert(data);
});

问题是,如果我将这两个代码放在一起,则其中一个不会在另一个上运行。 因此,在Chrome浏览器中,我可以访问“贝多芬”,而不能访问“ fruits.xml”,但会出现以下错误:

XMLHttpRequest cannot load file:///C:/Python32/fruits.xml. Origin null is not allowed by Access-Control-Allow-Origin.

另一方面,在IE中,我可以访问fruit.xml的全部内容并将其保存到变量中,但是我需要访问在Chrome中工作的XML属性的代码在IE中不起作用。

如您所见,我想使用第二个代码段来获取xml的内容,而我将使用第一个代码段来访问xml的内容。 还有另一种使用Javascript访问XML的方法吗? 您能帮我解决我的代码有什么问题吗?

救命?

导致错误消息的原因是您正在将XHRRequest(* A * JAX中的A)发送到file:// URL。 出于安全原因,现代浏览器已禁用此功能。 而是设置一个Web服务器并通过http://localhost/..而不是file://C:/...来访问您的页面。

对于第二部分,请确保首先测试加载fruits.xml 可能是此文件中存储的XML中有错误,或者它的结构不是您期望的。 您可以通过按F12进入Scripting选项卡,然后单击Start Debugger来在IE中调试JavaScript。 这样,您将获得比“不起作用”更好的错误描述。

这可能是与Chrome相关的错误

在Chrome错误/安全功能中加载本地文件

使用Chrome中的本地文件的jQuery getJSON问题

通过“ ajax”从“ file://”内容访问相对URL

建议不要将xml封装在jquery中并以这种方式进行解析,这可能因浏览器的不同而不同,而使用.parseXML

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM