AJAX neustály reload stránky

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kloban
Člen | 123
+
0
-

Ahoj,
potřeboval bych stále obnovovat stránku s dvěma tabulkami, jejichž obsah se mění. Chtěl bych to udělat pomocí ajaxu, aby se neustále nenačítala celá stránka.

Nejlepší bude tabulky zabalit asi do snipetu. Ale nevím jak dál docílit toho aby se snipet cyklicky obnovoval.
Díky za vaše rady.

thm
Člen | 147
+
0
-

Tipuju javascriptem, který bude klikat na skrytý odkaz vedoucí na handle, který zavolá redrawControl()

Ryky
Člen | 14
+
+3
-

jquery timer (delay() nebo setTimeout()) + game loop + funkce get()
https://componette.org/search/?…

$.get({link handle!}, function(){});

tzn asi 3 funkce v Jquery :)

kloban
Člen | 123
+
0
-

Díky za navedení. Dospěl jsem teď do stádia, kdy pomocí funkce setInterval volám každou vteřinu

$.get({link prekresli!}, function(){});

Handle vypadá takto:

public function handlePrekresli()
{
	    $this->redrawControl('objednavky');
}

V konzoli vidím, že se mi do aplikace vrací aktualizovaná data, ale nezobrazí se. Takže je asi chyba v té funkci get. Můžete mě zase nakopnout co mi tam chybí?
Díky Dan

kloban
Člen | 123
+
0
-

Zkusil jsem get upravit ještě takto:

$.get({link prekresli!}, function(data) {
    $("#snippet--objednavky").html(data);
});

Ale to mi do divu nic nevloží, jen ho smaže.

jiri.pudil
Nette Blogger | 1029
+
+2
-

Použij nette.ajax.js:

$.nette.ajax({link prekresli!});
kloban
Člen | 123
+
0
-

jiri.pudil napsal(a):

Použij nette.ajax.js:

$.nette.ajax({link prekresli!});

Díky.

Ryky
Člen | 14
+
0
-

v handelu ještě musíš předat nějaké data které se mají překreslit
např. mám pole objektů $objects;
umažu něco v $objects tak to musím říct nette co jsem umazal
např.

private $objects;

public function render()
{
	$this->template->objects = $this->objects;
}

public function handleDeleteRow($id)
{
	unset($this->objects[$id]);
	$this->invalidateControl('snippet');
}