簡體   English   中英

無法使用jQuery從外部文件加載xml

[英]unable to load xml from external file using jQuery

我正在嘗試使用以下代碼加載外部xml但它無法正常工作

$( document ).load( "data.xml", function(  response, status, xhr ) {        
    console.log( xhr.status + " " + xhr.statusText );
  });

我在同一文件夾中有data.xmljs文件。

chrome中它返回404 error

FF中,它返回0 [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_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_ERROR_DOM_BAD_URI:拒絕訪問受限制的URI [Break On此錯誤]

xhttp.send();

chrome中的錯誤: XMLHttpRequest無法加載file:/// C:/Users/admin/Desktop/public_html%281%29/public_html/data.xml。 僅支持HTTP的跨源請求。 xml.js:13 Uncaught NetworkError:發生網絡錯誤。

更新:我發現這個問題很有用,但是有什么方法可以解決這個問題嗎?

也許這就是你要找的......

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

UPDATE

閱讀這篇文章

經過長時間的斗爭,在社區的幫助下,我找到了問題。

同源策略限制從一個源加載的文檔或腳本如何與來自另一個源的資源交互。

意味着系統文件無法做到這一點,所以在這個答案的幫助下,我使用了WAMPServer來運行我的腳本,它就像一個魅力。

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

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM