Mi a különbség a json és a json2 között?
Szia. A jQuery, ahogy mondod, csak parsolni tud, vagyis a json parameter az $.ajax-ban szimplán annyit tesz, hogy a response-t névtér nélkül egy eval(string)-nek átadja.
A szerver felé átadott objektumot (data parameter) post változónként küldi a kiszolgálónak. Jquery 1.4 felett ez az objektum akár lehet többdimenziós is, ASP-szerűen parsolja amit a php is megesz. Több dimenziós, mély objektumok php oldalon való helyrerakása azonban sokkal körülményesebb, mintha rendes json adattal lenne dolgunk. Ezért szokták használni a JSON.stringify-t, amit viszont csak a modern böngészők, (pl. ie6, ie7 nem) támogatnak natív módon. Erre van a fent linkelt sim, illetve van még ezenkívül egy tucat.
Példa js:
var req = JSON.stringify ({
sanyi: 1,
lopici: {gaspar: {pumpa: 1, lapsajt: [1, 'olcsó']}},
lacika: [1,2,3,4, {indeep: true}]
});
$.ajax({
url: ('json.php'),
type: "POST",
context: this,
dataType: "json",
data: { q: req },
success: function(data) {
// parsed data
}
});
Php oldalon:
$q = json_decode(stripslashes($_POST['q']), TRUE);
// a true parameter szükséges multidim. objektumnál.
Én a Crockford-féle implementáció helyett egy egyszerűbbet, sokkal kisebb méretűt szoktam használni: [link]
üdv,
Ethno
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!