我正在做的是读取一个 XML 文件并通过 jQuery 将数据获取到我的 HTML 文件中。
正如我在许多教程中发现的那样,我使用的是 jQuery 的.get()
方法。除了一个问题,它对我很有帮助!
这是 XML 文件:
<?xml version="1.0" encoding="utf-8" ?>
<books>
<book title="CSS Mastery" imageurl="images/css.jpg">
<description>
info goes here.
</description>
</book>
<book title="Professional ASP.NET" imageurl="images/asp.jpg">
<description>
info goes here.
</description>
</book>
<book title="Learning jQuery" imageurl="images/lj.jpg">
<description>
info goes here.
</description>
</book>
</books>
这是我的带有 jQuery 代码的 HTML 文件:
<!doctype html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" >
$("document").ready(function() {
$.get("one.xml", function(d) {
var title = [];
var description = [];
$(d).find("book").each(function() {
title.push($(this).attr("title"));
description.push($(this).find("description").text());
});
console.log(title);
});
});
</script>
</head>
<body>
// BODY contents...
</body>
</html>
我想要做的是我希望返回标题和描述,以便我可以在其他函数中使用这些数组。根据 jQuery 代码,我的title
数组现在正在打印,console
但是当我尝试在它说title
的方法之外打印数组时。.get()
"title is undefined"
我尝试在函数末尾返回数组,但没有运气。我不确定我是否已经明确了我的问题,所以我粘贴了给我以下错误的代码:
<!doctype html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$("document").ready(function() {
$.get("one.xml", function(d){
var title = [];
var description = [];
$(d).find("book").each(function() {
title.push($(this).attr("title"));
description.push($(this).find("description").text());
});
});
console.log(title);
});
</script>
</head>
<body>
// BODY contents...
</body>
</html>
在这段代码中,它说"title isn't defined
并注意到我title
在方法之外安慰数组.get()
。