2 Stimmen

Lade den Datenbankinhalt in eine Variable.

Ich muss den Datenbankinhalt gemäß folgendem Schema in die Variable data laden.

var data = {
    "62": {
        sku: "62",
        section: "bodyImage",
        img: "images/diy-images/config-images/62.png",
        label: "plain red",
        price: "100"
    },
    "63": {
        sku: "63",
        section: "bodyImage",
        img: "images/diy-images/config-images/63.png",
        label: "plain pink",
        price: "110"
    },
    "360": {
        sku: "360",
        section: "bodyImage",
        img: "images/diy-images/config-images/360.png",
        label: "plain gray",
        price: "120"
    },
};

Ich habe versucht, das mit folgender Funktion zu erreichen, aber es funktioniert nicht. Was fehlt mir?

var data = (function() {
    $.ajax({
        url: 'get_data.php',
        data: "",
        dataType: 'json',
        success: function(rows) {
            for (var i in rows) {
                var row = rows[i];

                var id = row[0];
                var section = row[1];
                var img = row[2];
                var label = row[3];
                var price = row[4];
            }
        }
    });
});

1voto

Logan Punkte 1662

Sie können den Wert des JSON-Objekts mit dem '.'-Operator erhalten

var data = (function() {

    $.ajax({
        url: 'get_data.php',
        data: "",
        dataType: 'json',
        success: function(rows) {
            for (var i in rows) {

                var id = row.sku;          
                var section = row.section;
                var img = row.img;
                var label = row.label;
                var price = row.price;

            }
        }
    });

});

0voto

VisioN Punkte 137670

Sie können die Eigenschaften nach Namen ansprechen:

for (var i in rows) {
    var row = rows[i];          

    var id = row.sku;          // oder var id = i;
    var section = row.section;
    var img = row.img;
    var label = row.label;
    var price = row.price;
    ...
}

0voto

thecodeparadox Punkte 84579
var data = {}; // Datenvariable für zukünftige Verwendung
$.ajax({
 url: '',
 data: '',
 dataType: 'json',
 success: function(rows) {
   $.each(rows, function(i, val) {
      var id = val.sku,
          section = val.section,
          img = val.img,
          label = val.label,
          price = val.price;
   });
   // Wenn Sie die Datenvariable aktualisieren möchten
   data[sku] = {sku: sku, img: img, section: section, label: label, price: price};
  // Um die Daten auf einen Inhalt festzulegen
   $('#output_div').html(JSON.stringify(data));
 }
})

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X