Merhaba,
Eğer PHP ile gönderdiğiniz data’lar üzerinde JQuery ile çalışıyorsanız mutlaka JSON kullanmışsınızdır veya kullanacaksınızdır
JQuery’nin $.parseJSON(); metodu bu iş için güzel bir çözüm. Size verdiğiniz JSON data’yı JS Object haline getirerek direkt property’lerine erişmenize olanak sağlıyor. Fakat PHP’nin json_encode() metodu Array’i encode ederken başına ve sonuna lanet iki tane char ekliyor.
Örn;
[{"name":"Zakan"}] gibi çıktı oluşturuyor. Sizde $.post() işleminden sonra geri dönen fonksiyonda JSON data’sını $.parseJSON()’na veriyorsunuz. O da null dönüyor veya undefined olarak property’lere erişemiyorsunuz. Jquery’nin sayfasında gayet güzel bir çözüm önermişler; http://api.jquery.com/jQuery.parseJSON/ buradan erişebilirsiniz. Türkçesi şöyle; Eğer parseJSON() metodu null, mal dönerse git kendin native olarak elle json.org’dan indir json2.js dosyasını uğraş.
Lafı fazla uzatmadan, Çözüm;
1. Tavsiyem PHP tarafında aşağıdaki şekilde convert edip JQuery’ye göndermeniz.
<?php $json_convert = substr(json_encode($sqlRST), 1, -1); print($json_convert); ?>
2. Ben native JS veya JQuery ile halletmek istiyorum diyorsanız text().substring(); metodunu kullanabilirsiniz.
Önümüzde ay yoğunluğum azalırsa daha sık bir şeyler karalamaya çalışacağım. Whatever!
İyi Çalışmalar.
HD
29/05/2012 at 10:37
Dediğin şekilde yaptım olmadı’nın cevabı;
$.post() methoduna vereceğiniz callback function’ı sonrasında ,”JSON” v.s. eklemeyin.