Zvláštní chování $.nette.ajax
- hrubysi
- Člen | 12
Zdravím,
narazil jsem na zajímavou věc v rámci ajaxu, se kterou si poslední dobou
lámu hlavu.
Tento kód se vyvolá při změně select boxu ve formuláři a redrawne snippet.
$.nette.ajax({
url: "{link selectDistrict!}",
data: {
'districtId': 3202
}
});
To funguje bez problému při stránce bez parametru. Když se ale přidá
parametr s ID upravovaným předmětem ‚realtyId‘, z ničeho nic začne
vracet celý výstup stránky, aniž by se vůbec dostal k volané metodě.
Zvláštní je, že přitom přidáním parametru se nic nevykonává, jediná
změna je samotná parametr v url.
Kliknu-li ale na následující odkaz, opět to funguje v pořádku.
<a n:href="selectDistrict! 3202" class="ajax">select</a>
Metoda ‚handleSelectDistrict‘ nyní obsahuje jen
throw new Exception
, abych věděl jestli se to k tomu
dostane.
Jediné co mě napadá, jestli se nějak nemůžou hádat parametry, jinak mi to nedává smysl.
Děkuji
- hrubysi
- Člen | 12
Jak jsem psal, metoda obsahuje pouze vyhození erroru, pro ověření, jestli se to do ní dostalo.
public function handleSelectDistrict($districtId)
{
throw new Exception();
}
Render dělá pouze tohle, zbytek je zakomentovaný.
public function renderManageEdit($realtyId = null)
{
$this->template->_form = $this["addRealty"];
$this->template->item = null;
}
Prakticky se změna projeví jen v url adrese, proto mi to nejde do hlavy.
- hrubysi
- Člen | 12
Tak už jsem na to přišel, do odkazu se generuje z nějakého důvodu
&
viz. https://forum.nette.org/…e-link-s-amp