Joomla.it Forum
Non solo Joomla... => Sviluppo => : saprile 09 Apr 2018, 11:57:27
-
Buongiorno a tutti, ho la necessità di utilizzare una chiamata ajax in un modulo scritto da me. Per fare questo ho seguito la documentazione ufficiale su https://docs.joomla.org/Using_Joomla_Ajax_Interface ma sto riscontrando un problema sulla composizione dell'URL che esegue la richiesta asincrona. Precisamente chiamo (con ajax) l'url previsto, e cioè:
/index.php?option=com_ajax&module=NOMEMODULO&format=json&method=getUtente
ma ho la necessita, al metodo "getUtente" che nel file helper del modulo ha il nome "getUtenteAjax", di passare l'ID dell'utente da selezionare, e quindi ho provato a comporlo in questa maniera:
/index.php?option=com_ajax&module=NOMEMODULO&format=json&method=getUtente&id=150
Il problema è che al metodo "getUtente", l'ID non arriva proprio. Qualcuno saprebbe spiegarmi come posso far arrivare questo valore nel metodo che esegue la query?
Grazie in anticipo.
-
Ciao,
se ho capito il metodo "getUtente" è scritto da te e hai anche disponibile l' id=150 dell'utente nel javascript del browser.
Credo che per passarlo al php si possa leggere la query che arriva, così per esempio:query ($_SERVER['REQUEST_URI']): /index.php?option=com_ajax&module=NOMEMODULO&format=json&method=getUtente&id=150
$idUtente = filter_input(INPUT_GET, 'id');
e $idUtente dovresti ritrovarlo 150
Oppure si può passarlo al php mediante POST cioè inserendolo in un <input> di tipo hidden e leggendolo con $input = filter_input(INPUT_POST, "idInput");
dove "idInput" è l'id dell' input se lo invii a mezzo FormData() di javascript
o anche senza <input> hidden mettendolo in una variabile semplice che formatti json con l'istruzione JSON.stringify(obj); del javascript. In questo caso bisogna decodificare json nel php. json_decode ($string) prima di poterlo leggere.
Ci sono diversi modi penso.
Bye!
-
Grazie Alex21, sei stato utilissimo, hai ragione, con $idUtente = filter_input(INPUT_GET, 'id'); funziona correttamente.
Grazie!
-
Non c'è di che.
Ciao!
-
@saprile
[RISOLTO] va inserito all'inizio del tuo primo post, dove l'hai inseirto tu è praticamente inutile.
-
Eh si, fatto!