ugrás a tartalomhoz

AJAX + WP + JSON probléma

Jazoja · 2011. Aug. 3. (Sze), 14.47
WordPress oldalról AJAX-al kérek le egy post-ot és a kapott adatok kicsit furcsán néznek ki.

1. szerveren egy php fájl lekéri a post-ot,
2. majd a megfelelő adatokat beteszem egy array-be (title,content,id),
3. majd json_encode után echo-val kiíratom
4. ezt kiolvasom a XMLHttpRequestObject.responseText változóból, majd feldolgozom
5. javascript eval("(+...+)") után a kapott string-et tömbként tudom kezelni

A gondom, hogy a json_encode során az ékezetek, html tag-ek megváltoznak (pl. á -> \u00e1).

Próbálkoztam XMLHttpRequestObject.responseXML-el is, de az mindig null-t adott.

Van esetleg más, hatékony módja, hogy WP post tartalmát lekérjem a szerverről? (lehetőleg html(esetleg BBCode) formázással)
 
1

jQuery

Poetro · 2011. Aug. 3. (Sze), 14.55
Tudtommal a Wordpress jQuery-t használ JavaScript keretrendszernek, és az abban levő AJAX függvényeknek nincs problémája a semmilyen karakterrel. De legegyszerűbb lenne, ha az AJAX callback-jében kiíratnád a megkapott és feldolgozott JSON-t. Azt, hogy az adatokat hogyan formázod, rád bízom, talán legegyszerűbb magában a PHP-ban megoldani, ám ekkor a jQuery AJAX hívás adattípusát HTML-re érdemes változtatni.
2

formázás

Jazoja · 2011. Aug. 4. (Cs), 01.14
Az adatokat sehogy nem akarom formázni, ugyanúgy akarom megkapni mint ahogy a szerver tárolja.
A baj az, hogy ami JSON kódolás nélkül jön azzal nem tudom mit kezdjek.
JSON kódolás után tudom kezelni tömbként, de elkonvertálja a html tageket meg az ékezeteket.

A visszakódolás sikerült ezzel a függvénnyel, de talán van valami egyszerűbb mód is erre az egész folyamatra.
http://www.navioo.com/javascript/tutorials/Javascript_json_decode_1548.html

jQuery-be még nem mélyedtem bele.