Funkční ajax jen s dump proměnné
- Oli
- Člen | 1215
Ahoj,
mám takovej zajímavej problém a nevím si s tím vubec rady.
Nette: 2.1
jQuery: 1.10.0
Nefunguje mi ajax. Funguje jen, když je v renderDefault
dump('cokoli');
, což zase nefunguje ajax s dumpem.
Pokud není ten dump zakomentovaný, tak javascript vůbec nevleze do té
metody .on()
. Abych řekl pravdu, vubec to nechápu. :-/ Ve všech
ostatních projektech mě zajaxování funguje, jen tady na to nemůžu
přijít, proč se to tak děje.
Je teda pravda, že v ostatních projektech používám starší jQuery, ale i když jsem zkoušel vložit starší jQuery tak to taky nešlo
Na zajaxování používám:
jQuery.ajaxSetup({
cache: false,
dataType: 'json',
success: function (payload) {
if (payload.snippets) {
for (var i in payload.snippets) {
$('#' + i).html(payload.snippets[i]);
}
}
}
});
$('body').on('click', '.pagination a', function (event) {
$.get(this.href);
event.preventDefault();
});
v šabloně:
{snippet references}
<div id="references">
{$ajax}
</div>
{/snippet}
a v prsenteru:
private $ajax;
public function actionDefault()
{
$this->ajax = 'none';
}
public function renderDefault()
{
$this->template->ajax = $this->ajax;
// Pokud není zakomentováno, javascript vleze do metody a normalně vrátí snippet
// Pokud zakomentuju, javascript se vubec neprovede a rovnou mě to přesměruje
dump('ahoj');
if ($this->isAjax())
{
$this->template->ajax = 'yes';
$this->invalidateControl('references');
}
}
Díky moc za jakoukoli pomoc!
Editoval Oli (7. 6. 2013 16:15)
- David Matějka
- Moderator | 6445
asi je to blbost, ale zkus uzavrit ten neuzavreny <div> v sablone.. jestli to nezpusobuje nejakou neplechu :)
- Vojtěch Dobeš
- Gold Partner | 1316
Btw, chybí ti tam uzavření toho vnitřního DIVu. To by mohlo způsovat problémy, pokud na tom neřve přímo Latte.
{snippet references}
<div id="references">
{$ajax}
{/snippet}