簡體   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