Joomla.it Forum
Non solo Joomla... => Sviluppo => : sballolo 05 Dec 2011, 21:51:07
-
Ciao, sto sviluppando un componente per joomla, vi spiego in breve:
- un codice ajax interpella un file php che interroga un db
- in modo dinamico il contenuto della pagina interessato viene aggiornato
Problemi:
finchè mi allaccio al file php in modo diretto es: $("#responsecontainer").load("/miophp.php?option=com_mio&task=esegui");
tutto ok, tranne che per le funzioni del db bloccate in quanto i permessi per l'accesso al file non sono ereditati.
se invece vi accedo per via del file index.php quindi: $("#responsecontainer").load("/index.php?option=com_mio&task=esegui");
riceverò indietro parametri errati, al posto del solo valore "echo" del file php ricevo in più tutto il valore di "echo" di index.php, ovvero la pagina del sito stessa.
vi posto il codice ajax che sto utilizzando e che non mi da problemi con l'aggiornamento dinamico per contenuto che non necessita di accesso al db:
<script src="/templates/accessible/js/jquery.js"></script><script> $(document).ready(function() { $("#responsecontainer").load("/index.php?option=com_mio&task=esegui"); var refreshId = setInterval(function() { $("#responsecontainer").load('/index.php?option=com_mio&task=esegui&randval='+ Math.random()); }, 1000); $.ajaxSetup({ cache: false });});</script>
grazie anticipatamente.
-
probabilmente non rispetti l'mvc
http://forum.joomla.org/viewtopic.php?t=257522
M.
-
non capisco, ho fatto come dice il link che mi hai postato, nel php ho fatto richiamare il jquery.js ma non cambia nulla. In realtà ho provato più codici ajax o jquery ma il risultato di output che ricevo è sempre: il medesimo sito web completo all'interno del mio <div> , è come se la funzione che richiamo mi si tirasse dietro non solo l'echo del php che mi interessa ma in più tutto l'echo di index.php, TUTTO il sito web!
credo sia un errore di interpretazione dell'ajax e non di permessi... ???
in teoria :
------------------- ---------------------------------------- -------------- ----------------------------------
|funzione ajax | ---> | index.php/option=com_mio... | ---> | mio.php | ---> |visualizzo output in articolo|
------------------ ---------------------------------------- --------------- ----------------------------------
elaboro la funzione inoltro la richiesta del mio output produce l'echo di output
processando il file index.php
che mi farà accedere al mio componente
con tutti i permessi necessari alla
lettura/scrittura db
in pratica: ------------------- ---------------------------------------- -------------- ---------------------
|funzione ajax | ---> | index.php/option=com_mio... | ---> | mio.php | ---> |*risultato errato|
------------------ ---------------------------------------- --------------- ---------------------
elaboro la funzione ....................................... ............ ................. *visualizzazione output errato
*visualizzo all'interno del <div> tutto il sito web con in più l'output interessato
-
nel php ho fatto richiamare
-------------------------------------
non c'è il "php", ci sono view / model / controller e metodi
M.
-
"nel php" intendo "chiamando il file php.."
comunque ho appena risolto mettendo un exit(); alla fine della function{} nel file .php (quello del componente non di index.php)
Può crearmi qualche problema secondo te in fase operativa?
-
...giuro che non è cattiveria ma non sto capendo nulla di quel che mi dici quindi non azzardo opinioni.
certo che risolvere un problema con un exit è come se per fermare la macchina strappi i fili... è un modo, l'obbiettivo lo raggiungi...