2012-07-26 101 views
1

在此先感謝您的幫助。我是JSON的新手,我一直試圖使用$ .getJSON填充一些表單字段,但沒有運氣。

我開始砍件,直到我離開只是爲了測試從服務器我的迴應(我的服務器提供時,下面列出的URL在瀏覽器中查看JSON):

$(document).ready(function(){ 
    $('#button').live('click', function(){ 
     $.getJSON('http://localhost:8000/core/api/master-assembly/16', function(data) { 
     // alert(data); // uncomment for debug 
      $('#showdata').html("<p>item1="+data.afAgeCounter+" item2="+data.afWordCounter+" item3="+data.idNumber+"</p>"); 
     }); 
    }); 
}); 

我的JSON數據看起來是像:

{"success":true,"data":{"afWordCounter":123,"afAgeCounter":456,"idNumber":789, ... 

當我運行該腳本,我得到的輸出:

物品1 =未定義ITEM2 =未定義的項目3 =不確定

如果我取消了

alert(data); 

所有我得到的回報是[對象的對象]

那麼這裏給人?

再次感謝:)

+1

不能提醒的對象,但是,您可以使用控制檯.log(data)並在JavaScript調試器(如Firebug)中查看對象。 – jholloman 2012-07-26 21:50:26

回答

1

你要返回的數據是做的沒有afAgeCounter等屬性。它有一個data財產有那些。

您需要先獲得data屬性。

if(data.success){ 
    data = data.data; 
    $('#showdata').html("<p>item1="+data.afAgeCounter+" item2="+data.afWordCounter+" item3="+data.idNumber+"</p>"); 
} 
+0

非常感謝。像魅力一樣工作,我也很欣賞這個解釋。 – apttap 2012-07-26 22:04:12

+0

不客氣:-D – 2012-07-26 22:04:32

2

嘗試

$('#showdata').html("<p>item1="+data.data.afAgeCounter+" item2="+data.data.afWordCounter+" item3="+data.data.idNumber+"</p>"); 
+0

非常感謝。很棒。 – apttap 2012-07-26 22:05:17

2

你應該訪問它像這樣:

data.data.afWordCounter 

,因爲你的JSON變量具有這樣的結構:

data = { 
    "success":true, 
    "data":{ 
     "afWordCounter":123,"afAgeCounter":456,"idNumber":789, 
     ... 
+0

非常感謝。我希望我能給你答案的答案。 – apttap 2012-07-26 22:04:47

1

正如其他人一樣,你的整個JSON結果是你的回調參數 - 'data',它是一個對象。

它有兩個屬性'成功'和'數據'。 'data'本身就是和object {}以及它自己的屬性,afWordCounter,afAgeCounter等。因此,要獲得內部'data'對象的屬性,您需要使用data.data.afWordCounter等。

它可能更清晰

$.getJSON('http://localhost:8000/core/api/master-assembly/16', function(jsonresult)   { 

     $('#showdata').html("<p>item1="+jsonresult.data.afAgeCounter+" item2="+jsonresult.data.afWordCounter+" item3="+jsonresult.data.idNumber+"</p>"); 
    }); 
+0

感謝您的好解釋。 – apttap 2012-07-26 22:05:40

0

只是堆放在這裏,但如果你曾經想知道包含在一個js對象,你總是可以是使用JSON打印字符串:如果您打開方法的身體這樣的事情發生了什麼事情。字符串化:https://github.com/douglascrockford/JSON-js/blob/master/json2.js

所以,問題的對象,就可以看到通過什麼包含在它的:

alert(JSON.stringify(mysteryObject)); 

console.log(JSON.stringify(mysteryObject); 
相關問題