我正在使用我的新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文件,所以检查你的