» »

jquery ajax problem

jquery ajax problem

Matthaios ::

Imam problem pri branju tabele iz mysql baze. Ajax zahteva je takšna:
$.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č

t3hn0 ::

A lahko prilepis se json ki ti ga vrne php?
^.^

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...

t3hn0 ::

Kocka je izjavil:

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…

techfreak :) ::

Raje uporabi prepared statements, ki prepreči SQL injection.
$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…

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.

Zgodovina sprememb…

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.
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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kontakt obrazec

Oddelek: Izdelava spletišč
61933 (1778) betmen
»

AJAX neznana težava

Oddelek: Programiranje
81123 (917) luksorzi
»

Php varen login

Oddelek: Programiranje
203557 (3057) Volk|
»

[php] preverjanje online uporabnikov

Oddelek: Programiranje
261915 (1571) cobrica
»

Masterpage in jQuery(ajax call)

Oddelek: Programiranje
61203 (1031) hatchette

Več podobnih tem