Jak vytvorit v jQuery udalost tak aby sla zavolat vicekrat rubrika: Programování: JavaScript
Zdravim, mam webovou aplikaci, ve ktere ziskavam data ze zarizeni (arduino). Cely proces vytezeni dat trva asi cca 30sekund. Kdyz na webovkach kliknu na vytezit tak bezi proces s animaci progressbaru. V tu chvili chci kliknout aby se zacala tezit data z dalsiho a tim se zavola stejna udalost a funkce jako v prvnim pripade. Dojde k poruseni hodnot v promenych v dane funkci. Lze toto nejak resit? Pokud ano jak?
$("div#Devices").on ("click", "a.MiningData", function() { var minStart = false; $.ajax ({ type: "POST", url: "mining.php", async: false, data: {"action":"mining", "address" : $dev.attr("data-addr")}, success: function (data) { minStart=true; .... }, }); if (minStart) { $.post("mining.php", {"action":"isFinish", "address" : $dev.attr("data-addr")}, function (data)) { ... } } // zalozeni timeru ktery kazdych 5 sekund testuje jestli uz je dokoncenproces });
Ano, napsat danou funkci reentrantně, včetně obsluhy společných zdrojů jako třeba HTML stránka (např. nevkládat data do konkrétního html objektu, ale používat append). Podrobné vysvětlení přesahuje rámec této odpovědi, navíc není úplně jasné, co všechno se vlastně v té funkci dělá. Začal bych zkoumáním toho, proč je ten ajaxový požadavek synchronní.
Pro zobrazení všech 3 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře