Pamäť teče AJAX – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pamäť teče AJAX – JavaScript, AJAX, jQuery – Fórum – Programujte.comPamäť teče AJAX – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1602 příspěvků
11. 10. 2017   #1
-
0
-

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. 
 

<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: 
 

Připojen obrázek.

Nahlásit jako SPAM
IP: 147.232.177.–
peter
~ Anonymní uživatel
4014 příspěvků
12. 10. 2017   #2
-
0
-

Tohle by mohlo fungovat velmi podobne. Obvykle request nevyjde, kdyz se k souboru neda dostat. To se da takhle tezko rici. Podle nazvu tipuji, ze pestujes travu, ale spis tabak.
- Nektere requesty tam mas 2x, coz ve stejny cas muze delat problem.
- Nektere volas zbytecne duplicitne, do funkce muzes pridat 2 radky pro vypis 'data'.
- Nevim, proc tam prerusujes tag script? Ma to nejaky spesl duvod?

<script>
var i, soubory1, soubory2;

soubory2 = [
["zistinastavenuhodnotuzavlaha.php"	, [['val','#referenciazavlahy']]],
["zistinastavenuhodnotutermostat.php"	, [['text',	'#termostatzistenie']]],
["automanualtermostat.php"	, [['text','#automanual'],['text','#manualautomattermostat']]],
["get_teplota.php"		, [['text','#stavteplota'], ['val','#stavteplotatermostat']]],
["zmenirezimtermostat.php"	, [['html','#zmenitrezimtermostat']]],
["zmenigarazovubranu.php"	, [['html','#zmenigarazovubranu']]],
["zistinastavenuhodnotutermostat.php"	, [['text','#referenciatermostatu']]],
["hodnotatermostatu.php"	, [['text','#hodnotatermostatu']]],
["zmenirezimzavlaha.php"	, [['html','#zmenitrezimzavlaha']]],
["automanualzavlaha.php"	, [['text','#manualautomatzavlaha']]],
["get_zavlaha.php"		, [['text','#stavzavlahy']]],
["get_auto.php"			, [['text','#stavauta']]],
["get_brana.php"		, [['text','#stavbrany']]],
["get_pir.php"			, [['text','#stavpir']]],
["get_svetlo.php"		, [['text','#stavsvetlo']]],
["zistajaktualnuzavlahu.php"	, [['text','#stavzavlahaaktual']]],
["get_osoby.php"		, [['text','#stavosob']]],
["get_termostat.php"		, [['text','#stavtermostat']]],
["zmenitsvetlo.php"		, [['html','#zmenitsvetlo']]],
["get_termostatrezim.php"	, [['text','#termostatrezim']]],
["get_zavlaharezim.php"		, [['text','#zavlaharezim']]]
];

// zistinastavenuhodnotuzavlaha 2x
// automanualtermostat 2x
// get_teplota 2x

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

for (i in soubory2)
	{
	setInterval(function()
            {
	    $.get(soubory1[i][0],
            function(data)
                {
		var out;
		for (j in soubory1[i][1])
			{
			out = soubory1[i][1][j];
	        	$(out[0])[out[1]](data);
			}
                });
            },
	    1000
	  );
	}

</script>

Nebo by to slo spustit v jedinem setInterval. Nevim, proc na kazdy request spoustis interval zvlast.
 

setInterval(function()
  {
  for (i in soubory2)
	{
	    $.get(soubory1[i][0],
                  function(data)
                    {
   		    var out;
		    for (j in soubory1[i][1])
			{
			out = soubory1[i][1][j];
	        	$(out[0])[out[1]](data);
			}
                   });
	}
  },
  1000
);
Nahlásit jako SPAM
IP: 2001:718:2601:258:9417:7a...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 18 hostů

Podobná vlákna

Pamäť — založil Mirec

AJAX — založil netman92

Ajax — založil Paja2

Help! - Ajax — založil Jenda_CZ

AJAX - čeština — založil Markaos

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý