[ Príspevkov: 6 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 19.10.17
Príspevky: 289
Témy: 103 | 103
Bydlisko: Šuňava
Vek: 21
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ý: 19.10.17
Príspevky: 1422
Témy: 2 | 2
Bydlisko: Praha / Rev...
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ý: 19.10.17
Príspevky: 289
Témy: 103 | 103
Bydlisko: Šuňava
Vek: 21
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ý: 19.10.17
Príspevky: 1422
Témy: 2 | 2
Bydlisko: Praha / Rev...
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ý: 19.10.17
Príspevky: 289
Témy: 103 | 103
Bydlisko: Šuňava
Vek: 21
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ý: 19.10.17
Príspevky: 289
Témy: 103 | 103
Bydlisko: Šuňava
Vek: 21
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

83

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

416

28.01.2009 18:02

Blackdevil

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

357

10.04.2013 20:02

shiro

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

345

06.02.2010 18:43

Flety

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

Ako mam vypnut virtualnu pamat?

v Operačné systémy Microsoft

6

442

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

187

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

611

14.08.2007 8:40

Markus

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

php,ajax

v PHP, ASP

4

220

15.01.2012 22:45

shaggy

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

Ajax - help

v JavaScript, VBScript, Ajax

2

91

06.11.2013 14:26

Qip

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

AJAX refresh

v JavaScript, VBScript, Ajax

0

802

19.10.2008 11:20

max-m

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

ajax anketa

v Ostatné

4

1229

12.05.2007 20:56

javo

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

ajax standardy

v JavaScript, VBScript, Ajax

1

373

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

916

27.05.2010 21:33

DARSON

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

AJAX problem

v JavaScript, VBScript, Ajax

2

211

07.05.2012 19:37

shaggy

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

ajax guestbook

v Ostatné

0

765

09.08.2007 22:25

javo

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

ajax reload

v PHP, ASP

12

292

04.09.2012 19:22

Ďuri



© 2005 - 2017 PCforum, edited by JanoF