Kam s JS skripty obsahující {link singal!}

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

Při psaní kódu, kde používám {link signal!} (ajax požadavky) musí být tento kód v šabloně, aby byl odkaz nahrazen správnou adresou. Ovšem nezdá se mi to moc košér a raději bych měl skripty zvlášť v .js souborech v www adresáři.
Dá se to nějak elegantně vyřešit? Jak to děláte vy?

voda
Člen | 561
+
0
-

Můžeš použít data- atributy. Do něj dáš url a zbytek skriptu můžeš mít v externím souboru.

22
Člen | 1478
+
0
-

můžeš v externím js použít:

$.get('?do=handler');
//nebo pokud je to <a href="{link handler!}"...
$.get(this.link);

Editoval 22 (5. 12. 2011 23:25)

PavelJurasek
Člen | 39
+
0
-

jo, předat rovnou ‚?do=handler‘ bude asi nejlepší, díky!

Ondrej
Člen | 110
+
0
-

PavelJurasek napsal(a):

jo, předat rovnou ‚?do=handler‘ bude asi nejlepší, díky!

ale pouze za predpokladu, ze presenter nema persistentni parametry, o ktere bys mohl takto prijit.

pawouk
Člen | 172
+
0
-

To mi ted nepřijde nejlepší řešení, někdo muže klidně v budoucnu zmenit název signálu nebá já nevim co a bude se to těžko hledat, nebo někdo přidá persistentní proměnou, možností kdy to selže je spousty, nevidím žadný duvod nepoužít data jak psal voda, nebo mi něco uniká proč to nechceš použít?

PavelJurasek
Člen | 39
+
0
-

jo, tak to asi bude tím, že tomu nějak nerozumím. Nějaký příklad kodu by nebyl? :)

duke
Člen | 650
+
0
-
Vojtěch Dobeš
Gold Partner | 1316
+
0
-
<body data-my-ultimate-signal="{link myUltimateSignal!}">

</body>
<script>
var link = $('body').data('mu-ultimate-signal');
$.get(link). ...
</script>
PavelJurasek
Člen | 39
+
0
-

tak opravdu data asi nejlepší a nejelegantnější způsob, díky