Zvláštní chování $.nette.ajax

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

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

Jan Mikeš
Člen | 771
+
0
-

Ukaž kód tvojí handleSelectDistrict() metody, ideálně celý presenter.

hrubysi
Člen | 12
+
0
-

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
+
0
-

Tak už jsem na to přišel, do odkazu se generuje z nějakého důvodu &amp; viz. https://forum.nette.org/…e-link-s-amp