PHP Nette AJAX - jak provádět autorefresh dat z databáze?

1 odpovědí
16.10.2018 napsal Ammy dotaz do kategorie programovani
13 / 15
programovani

PHP Nette AJAX - jak provádět autorefresh dat z databáze?

Vyřešeno

programovani nette ajax php

Dobrý večer, zkouším pomocí PHP + Nette + AJAX zprovoznit vlastní chat box. Zasekl jsem se ale na tom jak docílit automatického (pravidelného) refreshování chat boxu pomocí AJAX místo znovunačítání celé stránky. Samotný AJAX refresh mi funguje pomocí handleChatRefresh, ale já chci ať to probíhá automaticky. Chci dosáhnout toho, aby se natáhla nová data z databáze a uživatel viděl, zda už protistrana odpověděla bez reloadu celé html stránky. Mohl by mě prosím někdo nasměrovat jak to udělat? Díky

18.10.2018 odpověděl Rusty Moderátor
[1]
Zkontrolováno

Dobrý den,

pokud Vám ajax refresh funguje přes nette handle metodu, tzn. po kliknutí na tlačítko se provede handle, tak nejjednodušeji můžete provádět auto refresh pomocí javascriptu, který bude pravidelně klikat na dané tlačítko např. dle id.

Tento javascript s nekonečným cyklem (infinite loop) každých 10s klikne na tlačítko s id="refreshBtn":


var interval = setInterval(refresh, 10000);
function refresh() {
    var r = document.getElementById('refreshBtn');
    r.click();
}
function nullTimer() {
    clearInterval(interval);
}
 


Pokud byste to chtěl udělat pořádně, tak si něco přečtěte o WebSocketech, řešení výše je spíše humpolácké.

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace