Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nie wczytuje pętli
Forum PHP.pl > Forum > PHP
wezyrno
po stronie php mam:

  1. for($numer = 1; $numer <= 2; $numer++) {
  2. $tablica['aaa'][$numer] = array(
  3. "testowe" => "testowe"
  4. );
  5. }
  6. echo json_encode($tablica);


po stronie JS:

Kod
$.ajax({
     type: "POST",
    data: {},
    dataType: "JSON",
    url: 'dane.php',
}).done(function(dane) {
    var pozycja = 1;
    for(pozycja in dane.aaa) {
        alert(pozycja);
    }
});


alert wyswietla podwójnie: 2,
zamiast najpierw 1 a później 2, co oznacza, że pętla ładuje się co prawda dwa razy ale wyswietla tylko tablice nr2

co zrobiłem źle? sad.gif
nospor
Odpal konsole FIREBUG i zobacz co faktycznie dostajesz w odpowiedzi od php.Nie moze ci dwa razy zwrocic dwa, bo by sie indeksy nadpisaly. Cos ci sie myli albo zle analizujesz
wezyrno
W firebugu dobrze zwraca x2 tą tablice sad.gif
_Borys_
Kombinuję kombinuję i za chiny nie chce mi się wyświetlić tak jak ty piszesz
Pozmieniaj kod i zobacz która tablica się wyświetli.
To że deklarujesz var pozycja = 1; dla pętli for nie ma żadnego znaczenia.
  1. <?php
  2.  
  3. for ($numer = 1; $numer <= 2; $numer++)
  4. {
  5. $tablica['aaa'][$numer] = array("testowe" => "arr.$numer", );
  6. }
  7. echo json_encode($tablica);
  8.  
  9. ?>

[JAVASCRIPT] pobierz, plaintext
  1. $.ajax({
  2. type: "POST",
  3. data: {},
  4. dataType: "JSON",
  5. url: 'dane.php',
  6. }).done(function(dane) {
  7. for(pozycja in dane.aaa) {
  8. alert(dane.aaa[pozycja]['testowe']);
  9. }
  10. });
[JAVASCRIPT] pobierz, plaintext
wezyrno
do zamkniecia,
udało mi się to naprawić.
nospor
To moze napisz dla potomnych co bylo nie tak?
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.