Javascript 通过AJAX和jQuery将变量XML作为属性的参数

Javascript 通过AJAX和jQuery将变量XML作为属性的参数,javascript,jquery,ajax,xml,Javascript,Jquery,Ajax,Xml,下面的jQuery从XML数据创建变量并将其放置在标记中。该变量可以在和之间使用,但当我尝试使用该变量为值属性(或其他相关内容)创建参数时,我无法使用该变量。我的语法有什么问题 $.ajax({ type: "GET", url: "Administration/data/people.xml" }).done(function (xml) { $(xml).find('fullName').each(function() { var fullName = $(this)

下面的jQuery从XML数据创建变量并将其放置在标记中。该变量可以在
之间使用,但当我尝试使用该变量为
属性(或其他相关内容)创建参数时,我无法使用该变量。我的语法有什么问题

$.ajax({
  type: "GET",
  url: "Administration/data/people.xml"
  }).done(function (xml) {
  $(xml).find('fullName').each(function() {
    var fullName = $(this);
    $('<button></button>').attr('value', fullName).html(fullName).appendTo('#loadMe');
  });
}).fail(function (response, error) {
  $('#info').text('Error!!');
});
$.ajax({
键入:“获取”,
url:“Administration/data/people.xml”
}).done(函数(xml){
$(xml).find('fullName').each(function(){
var fullName=$(此值);
$('').attr('value',fullName).html(fullName).appendTo('#loadMe');
});
}).失败(功能(响应、错误){
$('#info').text('Error!!');
});
开发人员检查器显示:

<button value="[object] [Object]"><childnode>fullName</childnode></button>
全名
但是,相反,我想要的是:

<button value="fullName">fullName</button>
全名

尝试获取
全名中的文本

var fullName = $(this).text();

当前,您的
$(this)
指向
全名
,这是一个
对象

对象的默认字符串表示形式是
[object object]
,因此您看到的就是这个。JavaScript不知道如何将对象表示为字符串。你必须从中提取你想要的信息。简化示例:
varobj={foo:42};警报(obj);警报(obj.foo).Felix非常感谢!XML字符串肯定不同于我使用的服务器端生成的SQL数据字符串。我想提取JSON也需要
.text()
方法,对吗?@Jim22150:这与JSON无关
.text
用于获取DOM元素后代的聚合文本内容。JSON被解析为JS对象和数组,然后您只需访问它们。看看您是否是JavaScript对象的新手。方法只能帮助您获取标记内的文本。要提取JSON,它在很大程度上取决于您的JSONstructure@FelixKlingKling,很好的参考资料,但我问的是如何呈现一个外部JSON文件,但我猜你的回答是间接的。再次感谢@Jim22150:是的,因为JSON来自哪里并不重要。解析后,您将处理JavaScript对象和数组。就像你的XML来自哪里并不重要一样。解析后,您就可以使用DOM元素了。