Decodificare json din Ajax in PHP

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
andras
Mesaje: 430

Decodificare json din Ajax in PHP

Salut,
Am hotarit sa trec la ajax fara JQuery. Am functiile (simplificat, cu metoda POST ):

Cod: Selectaţi tot

<script>
ob_ajax.open('POST', 'fisier.php', true);
ob_ajax.send(str_data);
</script>
in care str_data are forma unui sir json {"nume":"ion","prenume":"vasile","virsta":"11"}. Cum decodific acest sir in fisierul destinatie PHP? Multumesc.

MarPlo
Salut
Daca folosesti functia ajaxSend() data la pagina: array-asociativ-date-formular-ajax-t2181.htm , fara modificari; iar parametrul str_data contine un obiect javascript (nu sir), codul din acea functie ajax face din acel obiect (json) un sir de forma asta: "nume=ion&prenume=vasile&varsta=11" ; si-l trimite prin POST.
In php le gasesti in $_POST:

Cod: Selectaţi tot

$nume = $_POST['nume'];
//etc.. 
Daca se preia si se trimite direct sirul json "{...}" la php, il poti transforma in array in php cu functia:
json_decode('sir_json', true).
Exemplu:

Cod: Selectaţi tot

$ar_json = json_decode($_POST['cheie_post'], true);
echo $ar_json['nume']; 
- Nu stiu cu ce "cheie_post" e trimis sirul, dar poti afla in php cu:

Cod: Selectaţi tot

var_export($_POST); 

andras
Am reusit cu prima varianta (obiect javascript). Ma bucur ca incep sa-mi schimb standardele de programare, toate incursiunile in baza de date le fac prin ajax, toate afisarile le fac cu template. Totusi, mai ramin multe probleme de rezolvat.

Subiecte similare