[ Príspevkov: 6 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 11.12.17
Príspevky: 314
Témy: 110 | 110
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%


Online

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

Registrovaný: 17.07.11
Prihlásený: 12.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOnline : 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ý: 11.12.17
Príspevky: 314
Témy: 110 | 110
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é?


Online

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

Registrovaný: 17.07.11
Prihlásený: 12.12.17
Príspevky: 1433
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOnline : 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ý: 11.12.17
Príspevky: 314
Témy: 110 | 110
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ý: 11.12.17
Príspevky: 314
Témy: 110 | 110
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

94

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

419

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

356

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

369

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

448

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

197

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

619

14.08.2007 8:40

Markus

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

php,ajax

v PHP, ASP

4

226

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

93

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

808

19.10.2008 11:20

max-m

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

ajax anketa

v Ostatné

4

1231

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

377

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

920

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

218

07.05.2012 19:37

shaggy

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

ajax guestbook

v Ostatné

0

774

09.08.2007 22:25

javo

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

ajax reload

v PHP, ASP

12

300

04.09.2012 19:22

Ďuri



© 2005 - 2017 PCforum, edited by JanoF