• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak przypisac jsona do tablicy globalnej w javascript

VPS Starter Arubacloud
0 głosów
124 wizyt
pytanie zadane 11 lutego 2017 w JavaScript przez michal Mądrala (5,560 p.)

Cześć, mam pytanko ponieważ odbieram z php za pomocą ajax pewne dane i chce przypisać je do tablicy która będzie dostępna w innych funkcjach i nie wiem w czym tu jest problem. 

var zdjecia = new Array;


function m_openGallery(id, path)
{	
	$.ajax({
		type: "POST",
		url: './inc/php/m_gallery.php',
		
		data: {kategoria: id},
		dataType: 'json',
		success: function(result){

			var ile = result.length;
			for (i=0; i<ile; i++)
			{
				zdjecia[i] = result[i];
			}

		}
	});
	
	console.log(zdjecia);

	
}

Console.log zwaraca mi undefined. Spodkal sie ktos z podobnym przypadkiem? 

Dodam jeszcze ze jeśli w funkcji succes podam console.log(result) to zwraca mi ładnie tablice z elementami, ale ja chce ją wykorzystć i innej funkcji, dlatego próbuje przypisać do tablicy globalnej.

1 odpowiedź

0 głosów
odpowiedź 11 lutego 2017 przez Magicone Nałogowiec (45,100 p.)

Zwraca undefined, bo przypisanie zawartości odpowiedzi zapytania odbywa się asynchronicznie, tj. callback wywoływany jest w momencie uzyskania odpowiedzi. Umieść ten log bezpośrednio po pętli for, którą z kolei możesz skrócić do:

zdjecia = result;

komentarz 11 lutego 2017 przez michal Mądrala (5,560 p.)
No tak bezpośrednio po pętli działa, ale czy będę mógł się do tej tablicy w innych funkcjach odwołać w ten sposób -> zdjęcia[1]  ?
komentarz 11 lutego 2017 przez kubaapk Nałogowiec (44,270 p.)
Pushuj w pętli dane do tablicy.
komentarz 13 lutego 2017 przez Magicone Nałogowiec (45,100 p.)
Funkcja którą przekazujesz w success jest wykonywana dopiero wtedy, kiedy zapytanie HTTP zwróci swoją odpowiedź, jeśli chcesz przekazać dane innej funkcji to zrób to właśnie w tej funkcji.

Podobne pytania

0 głosów
1 odpowiedź 129 wizyt
pytanie zadane 23 maja 2022 w Java przez blofeld Użytkownik (700 p.)
0 głosów
1 odpowiedź 752 wizyt
pytanie zadane 8 lutego 2017 w C# przez Zychu Użytkownik (710 p.)
0 głosów
2 odpowiedzi 193 wizyt
pytanie zadane 17 sierpnia 2021 w Rozwój zawodowy, nauka, praca przez s85 Nowicjusz (200 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...