2010-10-01 74 views
0

我做一個Ajax調用:無法訪問JSON對象我希望

$.ajax({ 
     url: '/foo/getData', 
     dataType: 'json', 
     async: false, 
     success: function(data){ 
      lat = data.project_x; 
      lng = data.project_y; 
      zoomin = parseInt(data.mapzoom); 
      console.log(data); 
     } 
    }); 

,並返回:

[{"id":"3","project_x":"42.456","project_y":"-70.123","zoom":"7"},{"id":"3","project_x":"41.123","project_y":"-71.456","zoom":"7"}] 

console.log(data)給我:

Object 
id: "3" 
project_x: "42.456" 
project_y: "-70.123" 

然而,當我嘗試將這些值分配給我獲得undefined。示例: console.log(data.project_x);

回報undefined時,我希望它返回42.456

我在做什麼錯在這裏?

+1

是不是因爲數據是JSON陣列?可能是console.log(data [0] .project_x); – house9 2010-10-01 23:16:18

回答

2

因爲你的結果是,你需要訪問你想要的位置的陣列,例如:

lat = data[0].project_x; 

,或者根據您的需求,通過數組循環並使用每個值......這是來自不明你的代碼完全符合你的要求,但重要的部分是屬性不在返回的對象上......它們在返回的數組中的對象上。

環路可能看起來像:

$.each(data, function() { 
    alert(this.project_x); //access properties off this 
});