Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Tablica z PHP do JavaScript
Forum PHP.pl > Forum > Przedszkole
Lirdoner
Witam, przy pomocy ajaxa pobieram dane z bazy i zapisuje je do tablicy. Następnie przy zwracaniu wyniku mam
echo json_encode($tablica);
Niestety, nie mogę z tej tablicy już korzystać w javascript.
zmienna data do której jest zapisywana ta tablica zwraca mi wynik dobry:
[JAVASCRIPT] pobierz, plaintext
  1. [{"id":"1","name":"name1","war1":"10","war2":"20"}]
[JAVASCRIPT] pobierz, plaintext

Ale przy próbie odczytu jakiegokolwiek elementu zwracane jest mi "undefined"
Co z tym zrobić?
CuteOne
JSON to nie tablica tylko obiekt.

[JAVASCRIPT] pobierz, plaintext
  1. var a = {"a":"1"};
  2. var b = [{"a":"1"}];
  3.  
  4. alert(a.a);
  5. alert(b[0].a);
[JAVASCRIPT] pobierz, plaintext


jaslanin
w JS ogólnie tablica asocjacyjna jest uznawana za obiekt, nie mniej jednak możesz do każdego obiektu w JS odwoływać się w taki sam sposób jak do tablicy

  1. var a = {"a":"1"};
  2. alert( a["a"] );


może podaj większy fragment kodu, wrzuć go na jsfiddle
sh3d2
prawdopodobnie nie masz zdefiniowanego typu danych odpowiedzi,
jesli korzystasz z metody $.get() powinno to wygladac tak:
  1. $.get(url, function(data){
  2. console.log(data) // tu powinienes miec ladny obiekt
  3. }, 'json')


jesli korzystasz z metody $.ajax() powinienes miec zdefiniowany dataType: 'json'

pozdrawiam

edit: oczywiscie zakladam, ze korzystasz z biblioteki jquery

ew defaultowy typ danych z zadania to tzw "intelligent guess" - na podst naglowka, jaki idzie z odpowiedzia.
jesli razem z jsonem wyslesz naglowek
  1. header('Content-type: application/json');
typ danych powinien zostac wykryty automatycznie
Lirdoner
Rozwiązałem problem. Wystarczyło zamienić $.get na $getJSON
Dzięki za wszystkie odpowiedzi wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.