我有这个AJAX函数,用于使用Java servlet中的用户名检索XML。我在这里解析用户名并将它们发送到addToUserList
函数,在那里我用jQuery附加。但[Object HTMLInputElement]
是唯一附加到列表中的内容。当我在浏览器控制台上运行AJAX函数时,返回的XML有第一个元素[object HTMLInputElement]
,但是后面有用户名。
function displayFriendList(){
$.ajax({
url : '/getFriendList?userid=' +userid,
type : "POST",
dataType: 'xml',
success : function(data) {
$(data).find("friend").each(function () {
addToUserList($(this).find("username").text());
});
},
})
}
这是addToUserList函数
var userList = new Array();
function addToUserList(friend){
var exists = false;
for(var i=1; i<userList.length; i++){
if(userList[i]==friend){
exists = true;
break;
}
}
if(!exists){
userList.push(friend);
$('#userList').append("<a>"+friend+"</a></br>");
和返回的xml的一部分
<data>
<friend><username>[object HTMLInputElement]</username></friend>
<friend><username>asa</username></friend>
<friend><username>asda</username></friend>
<friend><username>cece</username></friend>
答案 0 :(得分:0)
您是否需要.each中的键和值?
$(data).find("friend").each(function (k,v) {
addToUserList($(v).find("username").text());
});
答案 1 :(得分:0)
var userList = new Array();
每次调用该函数时都会重新初始化用户列表,这似乎不正确