2012-12-05 81 views
0

我有從的Java servlet的用戶名檢索XML這個AJAX功能。我在這裏解析用戶名並將它們發送到addToUserList函數,在那裏我附加了jQuery。但是[Object HTMLInputElement]是追加到列表中的唯一東西。當我在瀏覽器控制檯上運行AJAX功能時,返回的XML具有第一個元素[object HTMLInputElement],但後面有用戶名。jQuery的追加[對象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> 
+1

你能張貼addToUserList的代碼? –

+1

你可以發佈數據結構的XML片段嗎? – udidu

+0

不相關的問題:數組從0開始,因此'var i = 1;'應該是'var i = 0;'在'for'中。 –

回答

0

你需要的。每個鍵和值的一部分嗎?

$(data).find("friend").each(function (k,v) { 
       addToUserList($(v).find("username").text()); 
      }); 
0
var userList = new Array(); 

您重新初始化用戶列表中的每個調用該函數的時候,這看起來不正確

+0

這是一個錯誤對不起,我編輯的代碼。 – TSkora