Próbowałem dostać metody push() w pętli zbudować strukturę, co następuje:push tablicy do tablicy w JavaScript (jQuery)
var locations2 = [
['User', position.coords.latitude, position.coords.longitude, 1],
['Bondi Beach', -33.890542, 151.274856, 2],
['Coogee Beach', -33.923036, 151.259052, 3],
['Cronulla Beach', -34.028249, 151.157507, 4],
['Manly Beach', -33.80010128657071, 151.28747820854187, 5],
['Maroubra Beach', -33.950198, 151.259302, 6]
];
To jest mój kod:
var locations = [];
$.ajax({
type: "POST",
url: "/ajax/map.php",
data: "name=test",
dataType: "json",
cache: false,
success: function(data){
$.each(data.points, function(i,item){
array_push = ["test", parseFloat(item.origem_lat), parseFloat(item.origem_lng), i];
locations.push(array_push);
});
}
});
Jednak plik JavaScript console.log dla lokalizacji pokazuje pustą tablicę.
Próbowałem użyć funkcji push() na wiele różnych sposobów, ale nie mogę uzyskać takiej samej struktury jak lokalizacje2. Największym problemem jest to, że nie wiem, ile tablic będzie znajdować się w tablicy lokalizacji przed pętlą, więc nie mogę tego wcześniej zainicjować.
Jakieś myśli?
Twoja składnia wygląda prawidłowo - czy na pewno 'data.points' zawiera żądaną tablicę? – McGarnagle
Dodaj wywołanie zwrotne błędu do wywołania ajax. Może to spowodować błąd, ale możesz nie znać tego kodu. –
Możesz wykonać szybki zrzut zawartości tablicy za pomocą alertu (JSON.stringify (x)), gdzie x jest odpowiednią tablicą. – RonaldBarzell