[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 15.01.25
Príspevky: 406
Témy: 153 | 153
Bydlisko: Poprad-okolie
NapísalOffline : 11.10.2017 21:46 | Ajax tečie ako vodopád (pamäť)

Ahojte, po dlhom boji s tým, ako používať AJAX mám následujúci problém. Potrebujem ním spúšťať PHP scripty, ktoré čítajú a vypisujú obsah PHP súboru (TXT súbory musím použiť z dôvodu používania mikrokontroléra) php kód čítať nevie ani HTML. Iba vykonávať requesty. PHP súbor otvorí TXT súbor a prečíta, väčšinou má asi tak 3 písmená, ako ktorý.. ZAP/VYP.
Kód:
<script>

$.ajax({
    url: "zistinastavenuhodnotuzavlaha.php",
 
    success: function(data) {
        $('#zavlahazistenie').val(data);
    }
});

</script>
<script>

$.ajax({
    url: "zistinastavenuhodnotutermostat.php",
 
    success: function(data) {
        $('#termostatzistenie').val(data);
    }
});
</script>

   <script>
       setInterval(function(){
    $.get('automanualtermostat.php', function(data){
        $('#automanual').text(data)
    });
},1000);   
</script>
   
   <script>
       setInterval(function(){
    $.get('get_teplota.php', function(data){
        $('#stavteplota').text(data + " °C")
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_teplota.php', function(data){
        $('#stavteplotatermostat').text(data + " °C")
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('zmenirezimtermostat.php', function(data){
       $('#zmenitrezimtermostat').html(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('zmenigarazovubranu.php', function(data){
       $('#zmenigarazovubranu').html(data)
    });
},1000);   
</script>

<script>
       setInterval(function(){
    $.get('zistinastavenuhodnotutermostat.php', function(data){
       $('#referenciatermostatu').text(data + " °C")
    });
});   
</script>

<script>
       setInterval(function(){
    $.get('hodnotatermostatu.php', function(data){
       $('#hodnotatermostatu').text(data)
    });
});   
</script>
<script>
       setInterval(function(){
    $.get('zmenirezimzavlaha.php', function(data){
       $('#zmenitrezimzavlaha').html(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('automanualtermostat.php', function(data){
        $('#manualautomattermostat').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('automanualzavlaha.php', function(data){
        $('#manualautomatzavlaha').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_zavlaha.php', function(data){
        $('#stavzavlahy').text(data )
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_auto.php', function(data){
        $('#stavauta').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_brana.php', function(data){
        $('#stavbrany').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_pir.php', function(data){
        $('#stavpir').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_svetlo.php', function(data){
        $('#stavsvetlo').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('zistajaktualnuzavlahu.php', function(data){
        $('#stavzavlahaaktual').text(data + " %")
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('zistinastavenuhodnotuzavlaha.php', function(data){
        $('#referenciazavlahy').text(data + " %")
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_osoby.php', function(data){
        $('#stavosob').text(data)
    });
},1000);   
</script>
<script>
       setInterval(function(){
    $.get('get_termostat.php', function(data){
        $('#stavtermostat').text(data)
    });
},1000);   
</script>

<script>
       setInterval(function(){
    $.get('zmenitsvetlo.php', function(data){
        $('#zmenitsvetlo').html(data)
    });
}),1000;   
</script>
<script>
       setInterval(function(){
    $.get('get_termostatrezim.php', function(data){
        $('#termostatrezim').text(data)
    });
},1000);    </script>
<script>
       setInterval(function(){
    $.get('get_zavlaharezim.php', function(data){
        $('#zavlaharezim').text(data)
    });
},1000);   

</script>

Keď si zobrazím konzolu, tak za 3 sekundy už mám skoro 4000 chýb.. Chyba je:
Ajax tečie ako vodopád (pamäť)
Pochopil som, že to nestíha a je to potrebné nejakým spôsobom odľahčiť, či zefektívniť a raz mi až spadol Chrome, čo sa mu ani nedivím.. RAM-ka 80%


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 12.10.2017 17:51 | Ajax tečie ako vodopád (pamäť)

Nemôžeš volať jeden php skript, ktorý to všetko skontroluje a vypíše všetko naraz? Toto je aj hnusné, aj neefektívne.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 15.01.25
Príspevky: 406
Témy: 153 | 153
Bydlisko: Poprad-okolie
Napísal autor témyOffline : 12.10.2017 19:08 | Ajax tečie ako vodopád (pamäť)

Nemôžem.. takto.. Mám stránku index.php kde javascript spustí html stránku, ktorá je obsiahnutá v tom indexe. Tá šablóna to tak má. Na jednej js stránke je tabuľka, kde sa vypisujú dáta, ZAP/VYP, Auto/Manual režim pre jednotlivé zariadenia IoT domácnosti. V inej stránke sa mi načítava na základe Auto/Manual ZAP/Vyp protiakcia, ktorú môžem odkliknúť, nastaviť teplotu pre termostat, plánovač..
Skrátka naraz sa to nedá, lebo rôzne scripty vypisujem inde.. Dalo by sa možno jedným PHP scriptom vypisovať tu tabuľku.. Vyrieši to ten problém? Len.. ako to vypísať, keď to vypisujem takto <table><td id="tuchcemteplotu"></td> Medzi tie tagy mi to vloží.. ako tam však vypíšem tie ostatné?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 13.10.2017 8:07 | Ajax tečie ako vodopád (pamäť)

A na tom záleží, kde to vypisuješ? Veď si vrátiš json všetkých hodnôt a vypíšeš si ich kde chceš.

PHP
Kód:
$data = [
    'hodnota1' => $nieco,
    'hodnota2' => $niecoDalsie,
];

header('Content-Type: application/json');
echo json_encode($data);


Javascript
Kód:
$.get('jedenskript.php', function(data){
    console.log(data); //skontroluj, ze to funguje
    $('#zavlaharezim').text(data.hodnota1);
    $('#dalsirezim').text(data.hodnota2);
});


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 15.01.25
Príspevky: 406
Témy: 153 | 153
Bydlisko: Poprad-okolie
Napísal autor témyOffline : 14.10.2017 1:40 | Ajax tečie ako vodopád (pamäť)

Urobil som to tak, že tie data čo sa vypisujú do tabuľky som dal do jedného setintervalu a nastavil na 2000 a ďalšie podobne podľa podstránok a momentálne je to bez chýb a nevytazuje ani RAM :) ale i tak dik za pomoc.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 15.01.25
Príspevky: 406
Témy: 153 | 153
Bydlisko: Poprad-okolie
Napísal autor témyOffline : 14.10.2017 1:40 | Ajax tečie ako vodopád (pamäť)

Urobil som to tak, že tie data čo sa vypisujú do tabuľky som dal do jedného setintervalu a nastavil na 2000 a ďalšie podobne podľa podstránok a momentálne je to bez chýb a nevytazuje ani RAM :) ale i tak dik za pomoc.


 [ Príspevkov: 6 ] 


Ajax tečie ako vodopád (pamäť)



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Chyba AJAX scriptu ako ju najst ?

v JavaScript, VBScript, Ajax

1

455

14.08.2013 15:58

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

AJAX & SILVERLIGHT ... ako na nich? zeby dobra kniha?

v JavaScript, VBScript, Ajax

5

756

28.01.2009 18:02

Blackdevil

V tomto fóre nie sú ďalšie neprečítané témy.

Ajax upload prípadne ako odoslať formulár po klik. na odkaz

v JavaScript, VBScript, Ajax

0

613

06.02.2010 18:43

Flety

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vyprázdniť vyrovnávaciu pamäť?

v Operačné systémy Microsoft

1

889

10.04.2013 20:02

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Ako mam vypnut virtualnu pamat?

v Operačné systémy Microsoft

6

782

18.09.2008 15:41

Hackerious

V tomto fóre nie sú ďalšie neprečítané témy.

Pamäť 10x lacnejšia ako flash údajne do 18 mesiacov

v Novinky

1

507

31.10.2007 18:43

mimkork

V tomto fóre nie sú ďalšie neprečítané témy.

ako kupit spravnu pamat do nb aby isla v duali

v Pamäte

4

948

14.08.2007 8:40

Markus

V tomto fóre nie sú ďalšie neprečítané témy.

ajax guestbook

v Ostatné

0

3821

09.08.2007 22:25

javo

V tomto fóre nie sú ďalšie neprečítané témy.

Ajax - help

v JavaScript, VBScript, Ajax

2

356

06.11.2013 14:26

Qip

V tomto fóre nie sú ďalšie neprečítané témy.

ajax anketa

v Ostatné

4

1553

12.05.2007 20:56

javo

V tomto fóre nie sú ďalšie neprečítané témy.

Ajax manual

v JavaScript, VBScript, Ajax

7

1300

27.05.2010 21:33

DARSON

V tomto fóre nie sú ďalšie neprečítané témy.

ajax reload

v PHP, ASP

12

639

04.09.2012 19:22

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

php,ajax

v PHP, ASP

4

588

15.01.2012 22:45

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

AJAX refresh

v JavaScript, VBScript, Ajax

0

1098

19.10.2008 11:20

max-m

V tomto fóre nie sú ďalšie neprečítané témy.

ajax standardy

v JavaScript, VBScript, Ajax

1

718

12.05.2009 17:48

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

AJAX problem

v JavaScript, VBScript, Ajax

2

550

07.05.2012 19:37

shaggy



© 2005 - 2025 PCforum, edited by JanoF