我正在使用我的新PC構建網站,並且無法獲取具有特定屬性的XML標記以顯示在我的HTML <p>
元素中。我的XML看起來是這樣的:無法獲取XML數據以使用jQuery在HTML上顯示
<?xml version="2016.6" encoding="UTF-8"?>
<parts>
...
<HDDs>
<hdd id="1">
<name>DiskOne</name>
<price>50</price>
</hdd>
<hdd id="2">
<name>DiskTwo</name>
<price>40</price>
</hdd>
</HDDs>
...
</parts>
我想找到標籤<hdd>
在上面的XML屬性id="2"
並顯示其孩子的HTML元素<p>
,它具有id="test-xml"
name
內容。我用這個jQuery的代碼從XML數據並顯示,在<p>
:
function loadHDDs(name)
{
$.ajax({
type: "GET",
url: 'data/parts.xml',
dataType: "xml",
success: parseHDDsXml
});
}
function parseHDDsXml(xml, name)
{
$(xml).find('hdd[id="2"]').each(function(){
var name;
name = $(this).children('name').text();
$("#test-xml").text(name);
});
}
我發現的代碼在另一個網站,我真的不知道,我需要loadHDDs
後面括號寫什麼,所以我寫了name
。我不知道如何在頁面加載時乾淨地執行腳本,所以我在我的頁面上添加了onload="loadHDDs();"
到<body>
元素。我使用Google Chrome調試器來查找錯誤。當我在本地測試我的頁面時,在我的電腦上,調試器當然顯示XMLHttpRequest cannot load
。我將我的項目上傳到服務器,並且我根本沒有在Chrome調試器中收到任何錯誤,但<p>
元素中的文本不會更改爲XML文本。我究竟做錯了什麼?也許我的腳本有問題?還是XML文檔?也許我只是不知道執行jQuery腳本和onload
只是不工作?請幫幫我!我是jQuery和Javascript的初學者,所以我懇請您向我展示解決問題的最簡單和最容易理解的方法。
在此先感謝!
編輯:我沒有足夠的評論聲望。我加入error
函數給我的Ajax,因爲Nayeri建議,現在我得到一個錯誤,loadHDDs
未定義。我不明白這一點。我的腳本中可以清楚地看到function loadHDDs(name)
。我已經檢查了一百次的拼寫。
@Gustas的如果u有一個外部JS文件,你的html頁面找不到你的js文件,所以檢查你的