Jak zpracovat data vrácená AJAXem
- Gruid
- Člen | 25
Dobrý den, mám v šabloně tento JS:
<script>
function odesliPozadavek(){
jQuery.get({link nejakyCallback!}, 20, function(){
/**/
});
}
</script>
Snippet, callback v presenteru, to všechno samozřejmě taky mám.
Vše mi funguje až po to, že po nějaké události se spustí funkce
odesliPozadavek, provede se callback a vrátí se mi v pořádku JSON data –
vidím ve Firebugu. A teď nevím, jak mám příchozí data zpracovat.
Předpokládám, že nějaké načtení a aktualizaci snippetu v JS. Díval
jsem se do jquery.nette.js, že bych z toho něco použil (taky fórum a net
jsem se snažil prolízt), ale nejsem ještě z toho JS moc moudrej. Můžete
prosím pomoci? Jak se stává, někdy se ve věcech patlám a když už pak
sprsknu něco funkčního, tak si nadávám, jak to bylo přeci jasný :)
- Gruid
- Člen | 25
Jasně, invalidaci mám a snippet taky, Když se odkážu normálně linkem
<a href="{link nejakyCallback!}" class="ajax">zavolej</a>
,
všechno funguje. Šlo mi o ten javascript, jak předat data, nějak jsem
z toho nebyl moudrej – mno jsem vobyčejnej začátečník. Dopracoval jsem
se k tomuhle. Je to funkční, ale nevím, jestli je to košér?
<script>
function updateSnippet(id, html)
{
$('#' + id).html(html);
}
function odesliPozadavek(){
jQuery.get({link nejakyCallback!}, 20, function(payload){
// přesměrování
if (payload.redirect) {
window.location.href = payload.redirect;
}
// snippety
if (payload.snippets) {
for (var i in payload.snippets) {
updateSnippet(i, payload.snippets[i]);
}
}
});
}
</script>
- 22
- Člen | 1478
a proč nepoužiješ přímo jquery.nette.js z doplňků? Stačí akorát nalinkovat a navěsit na element.
- Gruid
- Člen | 25
Navěsit na odkaz, nebo nějaký prvek, to mi šlo, ale chtěl jsem si udělat JS funkci, která se sama zavolá třeba každých 20s a obnoví část stránky. Ale už se mi to v hlavě urovnalo. Nevim, co jsem v tom hledal za složitosti. Hlavně jsem došel k tomu, že vlastně stačí jen něco jako:
<script>
function mojeAktualiyace(){
$.get({link mujCallback!});
}
</script>
Jako vždycky, teď už se jen směju, jak je to jednoduchý :) Mno a taky jsem asi měl původně chybu v presenteru a proto jsem se v tom tak zamotal. Dík za nasměrování.
Editoval Gruid (23. 5. 2011 14:30)