Vyvolání handle z javascriptu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- microcz
- Člen | 62
Tento topic je už přecijen tři roky starý, tak se raději ptám znovu.
Vytvořil jsem si javascriptový časovač, který postupně odpočítává sekundy a až dojde k nule zavolá moji callback funkci. Já bych v rámci callbacku chtěl zavolat handle, který refreshuje můj snippet, ale to se mi nedaří. Poradíte?
<div n:snippet="myContainer">
...
<script type="text/javascript" src="{$basePath}/js/countdown.js"></script>
<script type="text/javascript">cnt_countdown({$time}, function() { {link refresh!} });</script>
</div>
public function handleRefresh() {
...
$this->redrawControl('myContainer');
}
- microcz
- Člen | 62
Tak jsem narazil ještě na menší problém…podle rady teď používám:
<script type="text/javascript">
cnt_countdown({$downloadIn}, function() {
$.nette.ajax({
url: '{link refresh!}'
});
});
</script>
<a class="ajax" n:href="refresh!">Test manual</a>
Když se podívám přes CTRL+SHIFT+I na vyrenderovaný kód vidím:
<script type="text/javascript">
cnt_countdown(1189, function() { $.nette.ajax({ url: '"\/~user\/project\/www\/?uname=image-163&do=refresh&presenter=Image"' }); } );
</script>
<a class="ajax" href="/~user/project/www/?uname=image-163&do=refresh&presenter=Image">Refresh</a>
Jenže automatický refresh neproběhne a z konzole obdržím hlášku:
GET http://localhost/~user/project/www/%22/~user/project/www/?uname=image-163&do=refresh&presenter=Image%22 404 (Not Found)
Manuální link „Test manual“ funguje. Tzn nějakým záhadným způsobem se mi do URL vloží ten nesmysl: „http://localhost/~user/project/www/%22“. Poradíte čím to může být?