Nadam se da sam dobro razumeo.
Nešto slično sam bio radio (isprobavao), dakle da ukoliko pozovem JavaScript funkciju nekaFunkcija, ustvari pozovem php funkciju nekaFunkcija, npr.
Code:
<a href="#" onclick="nekaFunkcija('podatak1', 'podatak2')">call</a>
To sam uradio pomoću XMLHttpRequest-a.
Da bi tako pozvao php funkciju potrebno je da i u JS imam funkciju istog imena. Pošto je kod mene bilo da se poziva više funkcija, napravio sam jednu globalnu (univerzalnu) funkciju koja je formirala upit i vršila zahtev ka fajlu u kome su se nalazile te php funkcije.
Npr. da uzmemo za primer da želim da pozovem dve php funkcije:
Code:
function nekaFunkcija(var1, var2) {
//radi nesto
}
function opetNekaFunkcija(var1, var2, var3) {
//radi nesto
}
Kao što sam gore napisao potrebno je da imam i te dve funkcije u JS-u:
Code:
function nekaFunkcija() {
processRequest('nekaFunkcija', arguments);
}
function opetNekaFunkcija() {
processRequest('opetNekaFunkcija', arguments);
}
Kao što vidiš obe funkcije su pozivale jednu JS funkciju processRequest() i njoj su prosleđivani ime funkcije i argumenti funkcije.
Funkcija processRequest je vršila zahtev ka fajlu u kome se nalaze te iste php funkcije.
Npr. ukoliko se pozove JS funkcija nekaFunkcija('podatak1', 'podatak2'), funkcija processRequest će formirati upit i izvršiti zahtev:
Code:
functions.php?functionName=nekaFunkcija&args[]=podatak1&arg[]=podatak2
Dakle u fajlu functions.php su se nalazile te funkcije koje sam želeo da pozovem.
Da bi pozvao navedene funkcije u fajlu functions.php sam imao jednostavan php kod:
Code:
call_user_func_array($_GET['functionName'], $_GET['args']);
Ovde možeš dodati da se nazad JS prosleđuje npr. da li funkcija postoji, da li se izvršila, rezultate te funkcije, ili ostale stvari koje su tebi potrebne.
Ovo je ukratko ono što sam radio, nadam se da je to to i da si razumeo logiku, probaj sam da uradiš kako bi bolje razumeo, ukoliko nešto nije jasno ili negde zapne pitaj.