Ich brauche die Sprachen von Array Lenguajes [] von JSON und speichern in einer "custom_lenguajes" Variable, aber ich bekomme nicht.Fügen Sie Werte aus der JSON-Ausgabe in eine JavaScript-Variable ein, scheitern bei Loop oder Async?
JSON Ausgabe:
{
- data:
[
- {
DT_RowId: "row_93",
idiomas: "Si",
site: "342800010",
lenguajes:
[
- {
id: "3",
code: "nl"
},
- {
id: "5",
code: "ja"
},
- {
id: "17",
code: "de"
},
- {
id: "19",
code: "en"
},
- {
id: "38",
code: "ru"
}
]
}
],
options:
{},
files: [ ]
}
JS-Code:
var custom_lenguajes ="";
$(document).on('pageinit', '#page-1', function() {
// get lenguajes. START
$.getJSON(parser_origin + "/_country/spain/v134/lacarte.restaurants.front/alacarte/php/languages.front.php", { site: id_establecimiento()}, function(data){
for (var i=0, len=data.length; i < len; i++) {
console.log(data[i]);
}
data = data['data'];
data3 = data;
});
// I need create a variable that acummulate languages from JSON, this way: "nl,ja,de,en,ru"
$.each(data3, function(entryIndex, entry) {
$.each(this.lenguajes, function() {
alert(this.code); // don't show nothing. ONLY TEST
custom_lenguajes += this.code + "\,";
console.log(custom_lenguajes); //show "". ONLY TEST
});
});
// get lenguajes. END
...
Für Ihre Hilfe:
- wenn ich console.log (data3); (auf meinem Code) Ich kann ein leeres Objekt "[]" auf der Konsole zu sehen, beim Laden der Seite
- Nach, (wenn die Seite geladen ist), wenn ich auf der Konsole schreiben chrome: data3 [0] .enguajes [0 ] .code, es zeigt mir "nl". Bei der Chrome-Konsole funktioniert es, aber nicht bei meinem Code.
Was ist falsch? Ist ein Problem mit meiner Schleife oder mit ASYNC?
Jede Hilfe ist willkommen! Danke !!
setzen Sie das 'each' in das' getJSON'. – BenG