Php-ból hogy kell meghívni egy JAVASCRIPT függvényt?
Keresgéltem a neten, de nagyon nem akadtam használható válaszra. Nem linket kérnék, hanem normális választ.
Szóval az a helyzet, hogy van egy php függvény, ami fut. De én a futása közben szeretnék egy JS függvényt meghívni.
Ha nem lehetséges, akkor csak egy alert figyelmeztető üzenetet szeretnék kiirni legalább
Kösz ha segítessz
echo "<script>alert()</script>"
Amúgy a PHP szerver oldali kód. Lefutás után küld választ a böngészőnek, ahol a JS fog futni. Tehát PHP-ból csak úgy tudsz kihívni JS-re, ha adatot adsz át.
Ezt teheted HTML valamely Template rendszerével (Twig, Blade, ...)
De, hogy JS-t hívsz és folytatod a PHP-t arra nincs mód egy processzus alatt.
Egyáltalán mi az a probléma, amire ezt szeretnéd használni? Mert biztos van jobb és működő képes megvalósítás.
Szerintem te nem érted a kliens-szerver működését.
A PHP szerver oldali nyelv. Amikor az oldalt meghívod, akkor a PHP dolgozik és mikor lefutott, az eredményt megkapja a böngésző. A JavaScript kliens oldali nyelv. Amikor a böngésző megkapta az oldalt, akkor fut, a böngészőben.
Olyan tehát nincs, hogy "PHP-ből hívsz JavaScriptet".
Olyan van, hogy JavaScript-ből egy AJAX hívással meghívsz egy PHP oldalt és amíg megjön a válasz, addig kiteszel pl egy homokórát.
Mi lenne a cél?
Köszönöm a válaszokat. Adtam zöld pipát.
Azt szeretném elérni, hogy:
Van egy php függvény, ami lefut. Ezzel nem tudunk mit cisnálni, kell és kész.
Viszont, azt szeretném, hogy ez a függvény ÁLLJON MEG, mielőtt lefut.
Valójában egy ellenőrzőt szeretnék még beépíteni a függvénybe, egyfajta figyelmeztetést, és csak utánna lefuttatni a függvényt. NEm kell nagy script, csak álljon meg egy kis időre, amig beavatkozhatok.
(ui: ez egy törlő függvény, és manuálisan kimenteném az adatokat, mielőtt töröl, ha úgy adódna)
Nem kell ehhez semmit megállítani. Két megoldás van:
1. A törlés előtt csinálsz egy backup-ot valahova, utána mehet a törlés
2. Soft delete-et csinálsz, azaz nem törlöd a sort az adatbázisból ténylegesen, csak beraksz egy "deleted_at" mezőt, így bármikor visszaállítható.
Mit nem értesz az egészen? Ha megállítasz egy php függvényt, akkor ameddig áll az addig a böngésző teker és vár a szerver válaszára. Nem fog a böngészőben addig megjelenni semmi, ami a PHP nem végez. Neked a célod az, hogy a PHP várjon egy dolgot realtime, mikor a PHP egy request-response téma, ahogy általában a Webes témák mindegyike (most ne térjünk ki a WebSocketre és társaira).
Nem eseményvezérelt dologról van szó, mint mondjuk egy böngésző click eseménye, ami valójában háttérben szintúgy egy request-response zajlik le, ha küld valamit valamilyen módon a szerver felé. Ha itt állítod le a jQuery, Axios vagy bármi async hívás kezelő csak annyit fog mondani, hogy: bocs ez timeout.
Tehát az elképzelésed, nem működőképes így egy-az-egyben. A megoldást már vázolták fentebb.
Ha csak úgy csinálna, hogy figyelem, x mp-után lefut a függvény, ha nem nyom le semmit erre szerintem a timer-es dolgok jók js-ben
pl:
És akkor, ha nincs lenyomva semmi, meg lehet hívni ajaxosan a php-t.
?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!