setinterval gondok
Adott az alábbi kód, amiben a setInterval csak egyszer hajtódik végre:a $.post jquery parancsban ez hívódik meg:A jquery tökéletesen működik, az iro.php hozzá is fűzi a dolgot a textfile.txt-hez, de azonban csak egyszer, tehát nem fut le egynél többször a setinterval. Valakinek valami ötlete?
Mondjuk a kimeneti fájlban 2 órával korábbi időpontot jelez, de gondolom ez nem jelentheti a gond forrását. Köszönöm előre is. További szép napot! :)
■ - <head>
- <script src="http://code.jquery.com/jquery-latest.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- setInterval($.post("iro.php", {i1: 5}), 4000);
- });</script>
- </head>
- <body>
- <?php
- print("CSŐ!");
- ?>
- </body>
- <?php
- $phpVar = $_POST["i1"];
- $f = fopen("textfile.txt", "a");
- fwrite($f, date("d/m/y : H:i:s", time()) . " " . $phpVar . "\n" );
- fclose($f);
- ?>
Mondjuk a kimeneti fájlban 2 órával korábbi időpontot jelez, de gondolom ez nem jelentheti a gond forrását. Köszönöm előre is. További szép napot! :)
callback
setInterval
egy függvényt vár első paraméternek, de te a$.post
visszatérési értékét adod át neki első paraméternek. Átfogalmazva: neked egy függvény referenciát kell átadnod asetInterval
-nak, de te egy függvény futásának eredményét adod vissza. És mivel nem egy függvényt adsz át asetInterval
-nak, ezért az nem is fog meghívódni többször. Ami a te általad felírt kódban történik:$.post
függvényt a"iro.php"
és{i1: 5}
paraméterekkel.$.post("iro.php", {i1: 5})
futásának az eredményét asetInterval
-nak.Hogyan lehet átadni egy függvényt paraméterként egy másik függvénynek? Többek között erről is olvashatsz JavaScript függvények című cikkemben, itt a Weblaboron.
setInterval($.post("iro.php",