2016-09-23 48 views
-2

我試圖在我的網站上運行這個javascript,但我似乎無法加載它。我按照下面的教程鏈接,但它似乎不正確加載。任何人都可以幫忙對不起,我是使用XML的新手。使用Javascript和XML有問題

我也試圖在本地運行而不是在服務器上運行。

視頻鏈接:https://www.youtube.com/watch?v=ppzYGd0wi_c

<!DOCTYPE html> 

<html> 
<head> 


     <title>XML Testing</title> 


     <meta name=viewport content="width=device-width, initial-scale=1"> 




     <!-- CSS Style Information --> 
<!--  <link rel="stylesheet" href="files/style.css" media="all">--> 



     <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 


     <script type="text/javascript"> 

      $(document).ready(function(){ 
       $.ajax({ 
        type: "GET", 
        url: "data.xml", 
        dataType: "xml", 
        success: xmlParser 
       }); 
      }); 

      function xmlParser(xml){ 
       $(xml).find("painting").each(function){ 
        $("#container").append('<div class="painting"><img src="images/' + $(this).find("image").text() + '" width="200" height="225" alt="' + $(this).find("title").text() + '" /><br/><div class="title">' + $(this).find("title").text() + '<br/>$' + $(this).find("price").text() + '</div></div>'); 
       }); 
      } 


     </script> 


    </head> 
    <body id="body"> 

     <div id="container"> 

     </div> 


    </body> 
</html> 

單獨的XML文件名爲data.xml中

<?xml version="1.0"?> 


<paintings> 
    <painting> 
     <title>Boardwalk 5</title> 
     <artist>Arnie Palmer</artist> 
     <image>test.png</image> 
     <price>850</price> 
    </painting> 
    <painting> 
     <title>Boardwalk 5</title> 
     <artist>Arnie Palmer</artist> 
     <image>test.png</image> 
     <price>850</price> 
    </painting> 
</paintings> 
+1

可能重複做不從本地文件工作](http://stackoverflow.com/questions/17947971/ajax-in-jquery-does-not-work-from-local-file ) – dave

+0

您可以添加更多關於您遇到的實際問題的詳細信息嗎?你正在使用哪種瀏覽器?如果您爲瀏覽器使用開發人員工具,則可以找到一條錯誤消息,幫助他人縮小問題範圍。 –

+0

在瀏覽器控制檯中按下'F12',找出錯誤。它會顯示你缺少的東西以及你得到的錯誤類型。 –

回答

1

JS語法錯誤,應該是:jQuery中的[阿賈克斯

$(xml).find("painting").each(function(){ 
    $("#container").append('<div class="painting"><img src="images/' + $(this).find("image").text() + '" width="200" height="225" alt="' + $(this).find("title").text() + '" /><br/><div class="title">' + $(this).find("title").text() + '<br/>$' + $(this).find("price").text() + '</div></div>'); 
}); 
+0

至少提到你改變了什麼。沒有仔細檢查,沒有人能夠發現這一個字符差異。 – dave

+0

每個(**函數){**(**函數(){** - 添加了缺少的括號。 – Picko