Forum » Izdelava spletišč » jquery ajax problem
jquery ajax problem
Matthaios ::
Imam problem pri branju tabele iz mysql baze. Ajax zahteva je takšna:
PHP je
Ne vem kako pravilno parsat json. Na googlu sam pogledal vse možne rešitve in nobena ne dela. Če že ne vrže napako
ali izpiše da je vrednost nedefinirana, potem izpiše cel rezultat znak po znak.
Kako lahko sparsam rezultat, da bom bral vrstico pa vrstico in potem dostopal do vrednosti v vrstici po ključu?
Hvala za pomoč
$.ajax({ type: 'POST', url: '/moduli/racuni/artikli_LOAD.php', dataType: 'json', data: {IDtransakcije: transakcija}, success: function(data){ for(var i=0;i<data.length;i++) { console.log(data[i].naziv); } } });
PHP je
$stmt = $database->connection->query("SELECT artikli.naziv, transakcijeArtikli.kolicina, transakcijeArtikli.znesek FROM transakcijeArtikli INNER JOIN artikli ON transakcijeArtikli.artikli_id = artikli.IDartikli WHERE transakcijeArtikli.transakcije_id=".$IDtransakcije); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $artikli[] = $row; } echo json_encode($artikli);
Ne vem kako pravilno parsat json. Na googlu sam pogledal vse možne rešitve in nobena ne dela. Če že ne vrže napako
SyntaxError: JSON Parse error: Unable to parse JSON string
ali izpiše da je vrednost nedefinirana, potem izpiše cel rezultat znak po znak.
Kako lahko sparsam rezultat, da bom bral vrstico pa vrstico in potem dostopal do vrednosti v vrstici po ključu?
Hvala za pomoč
Kocka ::
Jaz bi se sprehodil po vrnjenih elementih z .each() akcijo:
$.each(data, function(i, field){ consloe.log...})
Še linka:
http://www.w3schools.com/jquery/misc_ea...
http://www.w3schools.com/jquery/ajax_ge...
$.each(data, function(i, field){ consloe.log...})
Še linka:
http://www.w3schools.com/jquery/misc_ea...
http://www.w3schools.com/jquery/ajax_ge...
t3hn0 ::
Jaz bi se sprehodil po vrnjenih elementih z .each() akcijo:
Mislim da to ni problem. JS odleti v vrstici "success: function(data){" (oz nekje prej v jQueriju), kjer naj bi convertal json v array.
^.^
nightrage ::
Izpiš si da vidiš kakšen json objekt dobiš nazaj. Jaz sem dal kr Alert.
success: function(data){ Alert(data) for(var i=0;i<data.length;i++) { console.log(data[i].naziv); } ...
Zgodovina sprememb…
- spremenil: nightrage ()
techfreak :) ::
Raje uporabi prepared statements, ki prepreči SQL injection.
Glede javascripta pa imaš v Chrome orodje Developer Tools (F12) kjer pod Network vidiš AJAX zahtevke in lahko vidiš kaj ti vrne. Potem pa lahko v success callbacku uporabiš alert, kot je omenil nightrage.
$stmt = $database->connection->prepare("SELECT artikli.naziv, transakcijeArtikli.kolicina, transakcijeArtikli.znesek FROM transakcijeArtikli INNER JOIN artikli ON transakcijeArtikli.artikli_id = artikli.IDartikli WHERE transakcijeArtikli.transakcije_id=:IDtransakcije"); $stmt->execute(array(':IDtransakcije' => $IDtransakcije));
Glede javascripta pa imaš v Chrome orodje Developer Tools (F12) kjer pod Network vidiš AJAX zahtevke in lahko vidiš kaj ti vrne. Potem pa lahko v success callbacku uporabiš alert, kot je omenil nightrage.
Zgodovina sprememb…
- spremenil: techfreak :) ()
alexa-lol ::
Če mu vrne JSON Parse error zakaj bi for zanka delovala nad nekim random stringom, ki ne predstavlja arraya v JS?
Enkrat sem uporabljal var data = JSON.parse(reply) in je delovalo.
Enkrat sem uporabljal var data = JSON.parse(reply) in je delovalo.
Zgodovina sprememb…
- spremenil: alexa-lol ()
Matthaios ::
Uspel sem potem najti napako. Problem je bil ta, da je en drug del php skripte izpisoval ene vrednosti (še iz prve faze ko nisem uporabljal ajax) in je ta izpis delal napako v jsonu
miko22 ::
Bi si malo sposodil temo. Sem pa popoln začetnik v ajaxu.
Mam recimo tole v html kodi, kjer polnim podatke iz baze.
pod "id" bi moral poslati id iz baze naprej, da vem o kateri sliki se gre. Pa tega ne znam spravit v to kodo:
mojNaslov, pridobim iz forme, ki se odpre uporabniku.Verjetno bi moral tam not dat ta podatek.
prosim za pomoč. Sem prepričan da so osnove, samo mi ne grata.
Mam recimo tole v html kodi, kjer polnim podatke iz baze.
echo "<li>".$row['slika']."<div id='cas'><a href='#' id=".$tmp."><p class='posljiV'>SEND</a></div>
pod "id" bi moral poslati id iz baze naprej, da vem o kateri sliki se gre. Pa tega ne znam spravit v to kodo:
$(document).ready(function() { $("#FormSubmitPosljiSliko").click(function (e) { jQuery.ajax({ type: "POST", url: "posljiSlikoNaMail.php", //link na php, kjer se zadeva dalje ureja. na tej strani rabim id. dataType:"text", // data:myData, data: { mojNaslov: $("#mojStran").val(), id: $("#id").val(), // to verjetno ni ok, ker mi ne del. }, success:function(response){.....
mojNaslov, pridobim iz forme, ki se odpre uporabniku.Verjetno bi moral tam not dat ta podatek.
prosim za pomoč. Sem prepričan da so osnove, samo mi ne grata.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kontakt obrazecOddelek: Izdelava spletišč | 2061 (1906) | betmen |
» | AJAX neznana težavaOddelek: Programiranje | 1198 (992) | luksorzi |
» | Php varen loginOddelek: Programiranje | 3890 (3390) | Volk| |
» | [php] preverjanje online uporabnikovOddelek: Programiranje | 2066 (1722) | cobrica |
» | Masterpage in jQuery(ajax call)Oddelek: Programiranje | 1351 (1179) | hatchette |