2016-07-28 53 views
0
不確定

嗨,我有一個非常大的問題理解爲什麼我的每一個是沒辦法把我AJAX成功函數中解析我的REST風格的終點:jQuery的Ajax對象點符號從REST

所以我有以下代碼:

$.ajax({ 
    dataType: "json", 
    url: '/showroom-event-gallery-api', 
    success: function(data) { 
    var rawData = data.slice(0,10); 
    console.log(rawData); 
    for (var i = 0, len = rawData.length; i < len; i++) { 
     var imageName = rawData.name; 
     console.log(imageName); 
    } 
    } 
}); 

console.log(rawData);語句成功運行並顯示來自我的REST API的對象。我遇到的問題是當我嘗試使用點符號在所有對象中選擇名爲name的參數並將它們存儲到變量中時。

當我console.log(imageName);我得到undefined但名稱參數是在對象內,所以我不確定爲什麼會發生這種情況?

這裏是我的數據的例子:

[ 
    { 
     id:225, 
     car_image_category_id:37, 
     image_name:"DSC_9672", 
     name:"77a3b8f84d63557d165f3b4ecf0d079e5cd1ae67.jpg", 
     path:"img/imagedb/77a3b8f84d63557d165f3b4ecf0d079e5cd1ae67.jpg", 
     thumbnail_path:"img/imagedb/thumbs/tn-77a3b8f84d63557d165f3b4ecf0d079e5cd1ae67.jpg", 
     created_at:"2016-07-27 18:13:50", 
     updated_at:"2016-07-27 18:13:50" 
    }, 
    { 
     id:226, 
     car_image_category_id:37, 
     image_name:"DSC_9673", 
     name:"af508985a53d7288d58cea118389a58b3567b364.jpg", 
     path:"img/imagedb/af508985a53d7288d58cea118389a58b3567b364.jpg", 
     thumbnail_path:"img/imagedb/thumbs/tn-af508985a53d7288d58cea118389a58b3567b364.jpg", 
     created_at:"2016-07-27 18:13:50", 
     updated_at:"2016-07-27 18:13:50" 
    }, 
    { 
     id:227, 
     car_image_category_id:37, 
     image_name:"DSC_9677", 
     name:"85832b6a6d952873f2e277ca19b5eab826d63340.jpg", 
     path:"img/imagedb/85832b6a6d952873f2e277ca19b5eab826d63340.jpg", 
     thumbnail_path:"img/imagedb/thumbs/tn-85832b6a6d952873f2e277ca19b5eab826d63340.jpg", 
     created_at:"2016-07-27 18:13:51", 
     updated_at:"2016-07-27 18:13:51" 
    } 
] 

正如你可以看到name可當我用點符號來做到這一點我的變量,然而選擇回來爲未定義。

任何想法,爲什麼這可能會發生?

感謝

回答

1

應該rawData[i].name

for (var i = 0, len = rawData.length; i < len; i++) { 
     var imageName = rawData[i].name; 
     console.log(imageName); 
    } 
0

嘗試更換

var imageName = rawData.name; 

var imageName = rawData[i].name; 

您正在試圖獲得一個數組的名字,不是對象

0

$.each()函數很容易使用數組試試這個。

$.each(rawData, function(index, value) { 
    console.log(index + ": " + value); 
});