Diskuze: Ajax - vícenásobné vyvolání fce

JavaScript JavaScript Ajax - vícenásobné vyvolání fce

Aktivity (1)
Avatar
Jenkings
Redaktor
Avatar
Jenkings:12.7.2013 19:24

Zdravím.

Mám následující kód:

function fce()
{
$.ajax ({
           type: "POST",
           url:"script.php",
           data: {promenna1:promenna1,promenna2:promenna2},
           success: function() {
                  console.log("provedeno");
           }
        });
}

a v tagu body mám timer na 5 sekund.Problém je že někdy se script provede jak má, a někdy se provede dvakrát najednou.Čím to může být ?

Odpovědět 12.7.2013 19:24
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Odpovídá na Jenkings
Michal Žůrek (misaz):12.7.2013 19:46

jak můžeš mít v tagu body timer? Pošli tag body, ať vím jak vypadá. :)

Nahoru Odpovědět 12.7.2013 19:46
Nesnáším {}, proto se jim vyhýbám.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Jenkings:12.7.2013 19:50

Nejsem ted na PC,ale ten timer je v body v onload nastaveny setinterval s tou funkci kterou jsem tu daval

Editováno 12.7.2013 19:51
Nahoru Odpovědět 12.7.2013 19:50
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Odpovídá na Jenkings
Michal Žůrek (misaz):12.7.2013 19:54

a když budeš klikat na body, tak se ti tam bude přidávat ten interval tolikrát kolikrát klikneš, když klikneš 30x provede se ti to 30x. To bude příčina toho problému. :) Pokud to potřebuješ načíst po načtení strány, tak použij:

window.onload = function () {
 ...
}

pokud to potřebuješ jen jednou po cliku nenastavuj setinterval, ale settimeout

Nahoru Odpovědět 12.7.2013 19:54
Nesnáším {}, proto se jim vyhýbám.
Avatar
Jenkings
Redaktor
Avatar
Jenkings:12.7.2013 19:58

Predtim jsem to spatne napsal.. mam to v onload. A ma se to opakovat kazdych 5 sekund, ale nekdy se to po tech 5 sekundach vykona dvakrat najednou a nekdy jen jednou tak jak ma

Editováno 12.7.2013 19:58
Nahoru Odpovědět 12.7.2013 19:58
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jenkings
David Čápka:12.7.2013 20:42

Protože volat každých 5 sekund ajax call ti nemůže server stíhat.

Nahoru Odpovědět 12.7.2013 20:42
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na Jenkings
Michal Žůrek (misaz):12.7.2013 20:45

skus websocket.

Nahoru Odpovědět 12.7.2013 20:45
Nesnáším {}, proto se jim vyhýbám.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na David Čápka
Jenkings:12.7.2013 20:48

No, problém je že nic jiného než AJAX neumím na komunikaci mezi serverem a uživatelem

Nahoru Odpovědět 12.7.2013 20:48
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Jenkings:12.7.2013 20:48

to je přesně to co neumím...

Nahoru Odpovědět 12.7.2013 20:48
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:12.7.2013 20:51

Server to stíhat může, ale je to pro něj nadměrná (a často i zbytečná) zátěž. Při větším počtu klientů to stíhat přestane.

Nahoru Odpovědět 12.7.2013 20:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:12.7.2013 20:53

Tak teoreticky je možno hodně věcí :D Prakticky je to co dělá nesmysl. Já nevím proč raději nenapíší čeho chtějí dosáhnout místo aby si nechali radit jak nejlépe udělat nesmysl.

Nahoru Odpovědět 12.7.2013 20:53
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Jenkings:12.7.2013 20:54

tak..udělám co budu moct .. ale jde o to jestli to podporují webhostingy... :/

Nahoru Odpovědět 12.7.2013 20:54
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jenkings
Kit:12.7.2013 20:56

Našel jsem i český návod na Web Socket:
http://www.zdrojak.cz/…web-sockets/

Nahoru Odpovědět  +3 12.7.2013 20:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na Kit
Jenkings:12.7.2013 21:00

Ano..díky.. ale problém je že tohle na webhostingu nepodporujou...

Nahoru Odpovědět 12.7.2013 21:00
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jenkings
David Čápka:12.7.2013 21:01

Když si koupíš virtuálko tak to není problém a to stojí kolem kila/měsíc.

Nahoru Odpovědět 12.7.2013 21:01
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na David Čápka
Jenkings:12.7.2013 21:02

jenže já s mým příjmem 500,- za měsíc z brigády si to jaksi dovolit nemůžu :/

Nahoru Odpovědět 12.7.2013 21:02
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jenkings
David Čápka:12.7.2013 21:04

Tak normální hosting stejně o moc levnější není když má za něco stát. Ještě si to můžeš nechat běžet doma.

Nahoru Odpovědět 12.7.2013 21:04
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na David Čápka
Jenkings:12.7.2013 21:05

No, já to mám zatím na free hostu, ale ani na placených websocket nemají...

Doma by bylo ideální si to spustit.., jen bych potřeboval veřejnou IP :/ Zapojil bych svoje RaspberryPI a byla by to ideálka, a spotřeba téměř 0

Nahoru Odpovědět 12.7.2013 21:05
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:12.7.2013 21:06

Právě jsem si Web Socket cvičně nainstaloval ke svému Apache, abych si ho vyzkoušel.

Nahoru Odpovědět 12.7.2013 21:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jenkings
David Čápka:12.7.2013 21:07

Na freehostingu máš být rád že to vůbec běží a ne chtít odezvu každých 5s :P

Nahoru Odpovědět  +1 12.7.2013 21:07
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na David Čápka
Jenkings:12.7.2013 21:08

No, ono to i s tou odezvou 5 sekund zvládá :D problém je paradoxně v tom že to zvládá až moc (někdy 2x víc než je nutný) :D :D

Nahoru Odpovědět 12.7.2013 21:08
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Jenkings
Drahomír Hanák:12.7.2013 21:09

Pro jednoho klienta server zvládne leccos. Zkus si to ale s nějakou větší zátěží nad reálnými daty ;)

 
Nahoru Odpovědět 12.7.2013 21:09
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jenkings
David Čápka:12.7.2013 21:10

To není možné, to se ti zpozdí a přijde ti jich pak více najednou.

Nahoru Odpovědět 12.7.2013 21:10
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na Drahomír Hanák
Jenkings:12.7.2013 21:10

To už by asi bylo maličko o něčem jiném no..

Nahoru Odpovědět 12.7.2013 21:10
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na David Čápka
Jenkings:12.7.2013 21:11

ne.. vážně to tak je.. prostě se to vykonává každých 5 sekund pravidelně, ale někdy se to provede 2x současně.. kontroluju to podle console v chromu

Nahoru Odpovědět 12.7.2013 21:11
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jenkings
David Čápka:12.7.2013 21:21

No já ti věřím, ale nemělo by to dělat :D

Nahoru Odpovědět 12.7.2013 21:21
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na David Čápka
Jenkings:12.7.2013 21:22

to je mi jasné že nemělo :D proto jsem se tu na to ptal :D

Nahoru Odpovědět 12.7.2013 21:22
Největší časovou náročnost má výpočet časové náročnosti..
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 28 zpráv z 28.