Ajax jak správně postupovat
- radvis
- Začátečník | 110
Ahoj, snažil jsem se udělat jednoduchou stránku kde bude form a pod ním se budou vypisovat texty bez reloadu. Použil jsem proto guestbook, co bylo napsané v nette a pokusil jsem se to „zajaxovat“ (aby se bez reloadu vypsal text všem po určitém intervalu) a povedlo se, můj dotaz je ten, zda je to dobře řešené nebo je to špatně (chtěl bych z toho udělat nějakej jednoduchej chat) a zda to bude dělat problémy při věčí zátěži.
//layout
<body onload="reload()">
<script>
function reload(){
$.get('?do=test');
setTimeout("reload()", 2000);
}
</script>
//presenter
public function handleTest(){
if ($this->isAjax()){
$this->invalidateControl('list');
}
}
- Lopata
- Člen | 139
Při zátěži to problém mít bude (jen při opravdu velké). Jestli ti to hodně leží v žaludku, tak zde máš anglický zdroj.
Jako argument té metody get nedávej string, ale standartní makro
link
.
S jQuery žádné onload na body nedáváš. Použij
<script>
$(document).ready(function () {
// kód
});
// nebo zkráceně
$(function () {
// kód
});
</script>
Takhle se opakovaná událost nenastavuje. Vygoogli si
javascript setInterval
.
A přečti si návod na zapisování kódu zde na fóru.
- Patrik Votoček
- Člen | 2221
@Lopata: necituj prosím zbytečně celý předchozí post… (pokdu na něj neodpovídáš po částech)