2016-07-28 11 views
0

Hey Leute ich ein wirklich großes Problem habe zu verstehen, warum meine für jeden nicht in der Lage zu meinem RESTful Endpunkt innerhalb meiner AJAX Erfolg Funktion zu analysieren:jQuery Ajax Objekt Punktnotation von REST undefined

Also ich habe den folgenden Code:

$.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); 
    } 
    } 
}); 

Die console.log(rawData); Anweisung wird erfolgreich ausgeführt und zeigt die Objekte aus meinem REST-aPI. Das Problem, das ich habe, ist, wenn ich versuche, Punktnotation zu verwenden, um einen Parameter namens name in allen Objekten auszuwählen und sie in einer Variablen zu speichern.

Wenn ich console.log(imageName); bekomme ich undefined aber der Name Parameter ist innerhalb des Objekts, so dass ich unsicher bin, warum das passiert? Hier

ist ein Beispiel für meine Daten:

[ 
    { 
     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" 
    } 
] 

Wie Sie sehen können name verfügbar ist jedoch ausgewählt werden, wenn ich Punktnotation verwenden diese meine Variable zu tun, kommt als undefiniert zurück.

Eine Idee, warum das passieren könnte?

Dank

Antwort

1

Es sollte rawData[i].name

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

try

var imageName = rawData.name; 

mit

var imageName = rawData[i].name; 

Sie versuchen nun, den Namen eines Arrays zu ersetzen zu bekommen, und nicht das Objekt

0

$.each() Funktion ist sehr einfach zu verwenden mit Array versuchen dies.

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