Chyba v syntaxi ajaxového požadavku
- Pepa Lakosil
- Člen | 2
Ahojte, mohl bys vás poprosit o radu. Používám knihovnu na nette
ajax.
Můj kód vypadá následovně:
$(document).ready(function(){
var myVar = setInterval(function(){ load() }, 2000);
$.nette.init();
});
function load(){
var messange = $('#id').text();
$.nette.ajax({
type: "POST",
dataType: "json",
url: {link ready!}, // <--- zde mi to hlásí chybu
data: { id: messange }
});
};
Bohužel mi to samozřejmě nefunguje :/ mohli byste mi prosím ten kód
opravit?
V Layoutu natahuju jquery, za ním nette.ajax.js a nakonec main.js.
Chybová hláška: „Uncaught SyntaxError: Unexpected identifier“
Editoval Pepa Lakosil (13. 6. 2017 19:47)
- GEpic
- Člen | 566
CZechBoY napsal(a):
mas to v latte sablone? jak mas ten skript nastavenej? nemas n:syntax=off/double?
nemá, má to určitě v main.js
– musíš ty své skripty
dát přímo do latte
souboru, v externím js
souboru
o nich nette absolutně neví a nedokáže tam nahradit makro za odkaz.
Editoval GEpic (14. 6. 2017 5:59)
- GEpic
- Člen | 566
A proč by to nemohl dát do latte? Vždyť je jedno jestli je to externě nebo v latte, když je kus JS kódu mimo a něco je pak v latte, zbytečně se poté bojuje s variable scope pokud není člověk zběhlý v JS a nepíše si vlastní knihovny. Kord když se používá jQuery a spousty dalších knihoven.
V jeho případě nelze využít následující. A zapsat si toto jen tak do HTML kvůli potřebě JS je trošku ošklivé.
<span id="mujLink" class="hidden" data-href="{link ready!}"></span>
Na těch autorovo několik řádků bohatě postačí latte a nebude s tím mít problémy a nemusí si to složitě předávat a linkovat malý soubor (extra request). Pokud by toho kódu bylo víc tak to samozřejmě z důvodu cachování smysl má, ale na těch 15 řádků ne.
Editoval GEpic (14. 6. 2017 14:31)
- abc
- Člen | 92
@GEpic tak vzhledem k tomu, že už JS soubor linkuje, tak by pro něj dokonce i ta moje varianta mohla být jednodušší, protože změní jen 2 řádky a nemusí celý JS přesouvat do šalbony.
A proč je to ošklivé? Všude se píše, že to je best practise. Samozřejmě nejlépe si ten href vytáhnout třeba z formuláře, kterého se to týká nebo odkazu, ale to v tom jeho příspěvku není uvedeno.