json.parse ajax con joomla??

Salve a tutti bella gente..non so quanti di voi leggono o leggerano i miei appunti….però mi piace pensare che ci siete e che siete pure numerosi😉

oggi parliamo di json e ajax…presto farò una guida su come costruire un modulo in joomla e sopratutto come sfrutta ajax sui moduli….

ma considerando che sono in ufficio scrivo al volo questo appunto…

COME LEGGERE I DATI JSON SU JOOMLA:
purtroppo non è molto immediato, come la comunicazione ajax joomla ha bisogno di certe regole per far in modo che certe trasmissioni avvengano.

facciamo un esempio:

Se io nel mio modulo voglio interrogare il db per capire se un utente è iscritto al sito
come prima cosa devo fare una interrogazione ajax sul modulo

jquery – js

var richiesta2=$j.ajax({
type:"post",
dataType: "json",
url:"?option=com_ajax&module=formiscrizione&method=test&format=json",
data:'codfiscale='+value,
async:false
}).responseText;

Concetriamocci sul URL:
option=com_ajax: è obbligatorio e joomla che ce lo chiede
&module=formiscrizione: “formiscrizione” è il nome del modulo…quindi senza mod_
&method=test: test è il nome della procedura che troviamo nel file help.php, dentro la classe modformiscrizioneHelper in breve questo è il file help.php

helper.php

class modformiscrizioneHelper

{public static function testAjax(){

/*Qui dentro mettiamo la funzione che si dovrà eseguire dalla chiamata ajax
quindi generiamo l'array che codifichiamo in json*/
$dati_array=array("id"=>$dati['id'])
JFactory::getDocument()->setMimeEncoding( 'application/json' );
JResponse::setHeader('Content-Disposition','attachment;filename="progress-report-results.json"');

$json= json_encode($dati_array);
echo $json;

JFactory::getApplication()->close();//questo è molto importante
}}

poi nel modulo per leggere il file json in maniera corretta sempre in jquery

JSON.parse(output);
alert(output.id)//nel caso ci serva solo una parte dei dati restituiti....

per maggiori dettagli eccvi la documentazione di joomla

spero che questa guida vi sia stata utile…

commentate e seguitemi su twitter 😉

Questa voce è stata pubblicata in Uncategorized. Contrassegna il permalink.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...