2012-04-14 59 views
4

當我在Firebug中運行下面的javascript時,我總是收到一個錯誤。我試過改變多個東西,它仍然輸出錯誤。我正在使用api從XML中檢索信息,然後將其輸出到屏幕上,但我一直收到對象錯誤。有人可以看到爲什麼?任何幫助表示讚賞!錯誤:Javascript上的[對象對象]

$(document).ready(function() { 

    $('#searchbtn').bind('click' || 'enter',function(e) { 
     if ($.trim($('#searchBox').val()) !== '') { 
      $('#videos').append('<img src="img/loading.gif" alt="loading" class="loading" />'); 
      getVideos(e); 
     } 
    }); 
}); 

function getVideos(e) { 
    e.preventDefault(); 
    var text = 'text='+$('#searchBox').val(); 
    $.ajax({ 
     url: 'getVideos.php', 
     dataType: 'xml', 
     type: 'POST', 
     data: text, 
     success: function(data) {        
      $('#videos').append("<h1>The following events match your search!</h1>"); 

      var xmlString = data; 

      if ($(xmlString).find('feed').children('entry').length == 0) { 
       $('#videos').append('<p class="noResults">Sorry, no results for you! Try searching again!</p>'); 
      } else { 
       var videoTitle = []; 

       $(xmlString).find('title').each(function() 
       { 
       videoTitle.push($(this).text()) }); 

       $('#videos').append('<ul>'); 

       $(xmlString).find('entry').each(function(i) { 
        if (i == '40') { 
         return(false); 
        } 
        var vidInfo = ''; 
        vidInfo += "<p>"+videoTitle[i]+"</p>"; 
        $('#videos ul').append('<li>'+vidInfo+'</li>'); 
       }); 
      } 
     }, 
     error: function(data) { 
       console.log('Error: ' + data); 
     } 

    }) 
}; 
+0

可以請你把你的確切的錯誤? – Kamal 2012-04-14 18:52:54

+0

正如Chuck回答的那樣,您正在爲'data'對象添加一個字符串'Error:'。 – Jashwant 2012-04-14 18:57:32

回答

8

當你添加一個對象爲一個字符串,它得到了toString方法調用,這對於一個普通的對象只是給出了臭名昭著的「的翻譯:」。要登錄一個對象,你應該只把它傳遞直入console.log函數作爲參數,就像這樣:

console.log('Error:', data); 
+0

所以我應該用上面的代碼替換字符串? – LE12 2012-04-14 19:12:02

+0

@ LE12:您應該用該代碼替換讀取'console.log('Error:'+ data);'的行,是的。 – Chuck 2012-04-14 19:27:21