2012-04-02 29 views
2

我有一個非常基本的問題,但我似乎無法推測出來......jQuery的Ajax調用:不能用數字

這是通過jQuery我AjaxCall的:

function noname(){ 

    $.ajax({ 
     type : 'POST', 
     url : 'somefile.php', 
     dataType : 'json', 
     success : function(data){ 

      $('#user').text(data.info.name).fadeIn(500); 


     }, 
     error : function(XMLHttpRequest, textStatus, errorThrown) { 

     } 
    }); 

} 

讓我們說somefile.php輸出這樣的:

{"proceed":"1","info":{"name":"John","online":"Online","id":"1"}} 

在這種情況下,一切工作正常,並顯示用戶的div包含文本「約翰」。

但是,讓我們說somefile.php輸出這樣的:

{"proceed":"1","info":[{"id":"1","name":"John"},{"id":"2","name":"Rick"},{"id":"3","name":"Jane"},{"id":"4","name":"Astrid"}]} 

對其進行可視化,這裏的數組的print_r:我要輸出同樣的事情,我確實在

Array 
(
[proceed] => 1 
[info] => Array 
    (
     [0] => Array 
      (
       [id] => 1 
       [name] => John 
      ) 

     [1] => Array 
      (
       [id] => 2 
       [name] => Rick 
      ) 

     [2] => Array 
      (
       [id] => 3 
       [name] => Jane 
      ) 

     [3] => Array 
      (
       [id] => 4 
       [name] => Astrid 
      ) 
    ) 
) 

工作場景,所以我把這個在AJAX調用:

$('#user').text(data.info.0.name).fadeIn(500); 

這給出了一個錯誤,因爲我可以」在那裏使用數字。 任何人都知道如何處理這個?

非常感謝!

+0

使用一些開發工具來檢查的對象。你會看到那些是數組元素而不是對象屬性。 – jprofitt 2012-04-02 15:28:27

+2

'data.info [0] .name' – Esailija 2012-04-02 15:29:39

回答

6

由於「信息」是一個數組,你可以簡單地訪問其條目是這樣的:

data.info[0].name 

工作的對象是相同的:

data['info'][0].name 
+0

你不需要配額,你可以從數組索引中獲取數字:'data.info [0] .name' – 2012-04-02 15:31:12

+0

@GabrielGartz Ninja編輯! (謝謝,他以爲他在那裏處理物體) – Niko 2012-04-02 15:33:45

+0

工程就像一個魅力!非常感謝! – binoculars 2012-04-02 15:42:07