[ Príspevkov: 6 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 22.09.18
Príspevky: 351
Témy: 128 | 128
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ý: 25.09.18
Príspevky: 1482
Témy: 2 | 2
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ý: 22.09.18
Príspevky: 351
Témy: 128 | 128
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ý: 25.09.18
Príspevky: 1482
Témy: 2 | 2
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ý: 22.09.18
Príspevky: 351
Témy: 128 | 128
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ý: 22.09.18
Príspevky: 351
Témy: 128 | 128
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

130

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

450

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

373

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

415

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

481

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

217

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

638

14.08.2007 8:40

Markus

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

ajax reload

v PHP, ASP

12

321

04.09.2012 19:22

Ďuri

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

php,ajax

v PHP, ASP

4

267

15.01.2012 22:45

shaggy

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

ajax anketa

v Ostatné

4

1249

12.05.2007 20:56

javo

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

Ajax - help

v JavaScript, VBScript, Ajax

2

113

06.11.2013 14:26

Qip

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

ajax standardy

v JavaScript, VBScript, Ajax

1

397

12.05.2009 17:48

Ďuri

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

Ajax manual

v JavaScript, VBScript, Ajax

7

939

27.05.2010 21:33

DARSON

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

ajax guestbook

v Ostatné

0

794

09.08.2007 22:25

javo

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

AJAX refresh

v JavaScript, VBScript, Ajax

0

828

19.10.2008 11:20

max-m

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

AJAX problem

v JavaScript, VBScript, Ajax

2

244

07.05.2012 19:37

shaggy



© 2005 - 2018 PCforum, edited by JanoF