Autore Topic: [RISOLTO] Utilizzo di com_ajax in modulo custom  (Letto 525 volte)

Offline saprile

  • Esploratore
  • **
  • Post: 74
    • Mostra profilo
[RISOLTO] Utilizzo di com_ajax in modulo custom
« il: 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.
« Ultima modifica: 10 Apr 2018, 08:46:32 da saprile »

Offline Alex21

  • Appassionato
  • ***
  • Post: 642
    • Mostra profilo
    • servizi web
Re:Utilizzo di com_ajax in modulo custom
« Risposta #1 il: 09 Apr 2018, 13:37:24 »
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:
Codice: [Seleziona]
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
Codice: [Seleziona]
$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!
« Ultima modifica: 09 Apr 2018, 13:42:26 da Alex21 »

Offline saprile

  • Esploratore
  • **
  • Post: 74
    • Mostra profilo
[RISOLTO] Re:Utilizzo di com_ajax in modulo custom
« Risposta #2 il: 09 Apr 2018, 14:50:11 »
Grazie Alex21, sei stato utilissimo, hai ragione, con $idUtente = filter_input(INPUT_GET, 'id'); funziona correttamente.


Grazie!

Offline Alex21

  • Appassionato
  • ***
  • Post: 642
    • Mostra profilo
    • servizi web
Re:Utilizzo di com_ajax in modulo custom
« Risposta #3 il: 09 Apr 2018, 17:33:57 »
Non c'è di che.
Ciao!

Offline marine

  • Team Joomla.it
  • Instancabile
  • *******
  • Post: 3986
  • Sesso: Maschio
    • Mostra profilo
Re:Utilizzo di com_ajax in modulo custom
« Risposta #4 il: 09 Apr 2018, 21:46:58 »
@saprile
[RISOLTO] va inserito all'inizio del tuo primo post, dove l'hai inseirto tu è praticamente inutile.

Offline saprile

  • Esploratore
  • **
  • Post: 74
    • Mostra profilo
Re:[RISOLTO] Utilizzo di com_ajax in modulo custom
« Risposta #5 il: 10 Apr 2018, 08:46:59 »
Eh si, fatto!

 

Torna su