Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Nacitat do jquery len prvý riadok

Som len začiatočník v jquery :) a preto by som potreboval pomoct ako mam nacitat len prvý riadok z php suboru..
Mam stranku data.php ktora je pre normalneho uzivatela skritá .. v nej sa vypisuje len nieco takéto

16 sec.
23 min.

potom mam stranku uz index.php a vypisuje sa to pomocou jquery do fontu..

<font id="cas"></font>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
setInterval(function () {
$('#cas').load('data.php',)
}, 1000);
});
</script>

Takto to ale vypisuje pochopitelne celé 2 riadky.. ja chcem vediet
ako mam spravit aby sa nastavilo ze chcem vypisat len napriklad riadok 2. :/
dakujem za kazdu pomoc :)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Krok 1. nedělej AJAX request každou sekundu! Není to zdravé pro server :) Krok 2. použij místo .load…
martin.developer 15.12.2015 13:54
martin.developer
preco by nemohol pouzit load ? $( "#cas" ).load( "index.php #sekundy"); $( "#cas" ).load( "index.ph…
lukacenko 15.12.2015 13:59
lukacenko
V tom případě by musel mít výstup <div id="minuty">10min</div> <div id="sekundy">20s</div> Což mi…
martin.developer 15.12.2015 14:10
martin.developer
ja si myslim ze vystup v .php si vie bez problemov naformatovat, a budete to, on chcel jednoduche ri… poslední
lukacenko 15.12.2015 14:16
lukacenko

Krok 1. nedělej AJAX request každou sekundu! Není to zdravé pro server :)

Krok 2. použij místo .load() metodu .get() objektu jQuery.

$.get("data.php", function(data) {
  $("#cas").html(data);
});

Nyní je odpověď serveru v proměnné data, což bude string a stačí zavolat .split() metodu, která rozdělí string do pole dle znaku, s argumentem \n (pokud tedy ten nový řádek není pomocí <br/>).

$.get("data.php", function(data) {
  var lines = data.split("\n");
  $("#cas").html(lines[1]);
});

Ale znova - neposílej požadavek na server každou sekundu!!! Pokud děláš odpočet, tak si pošli do JS cílový čas a odpočet dělej v JS.

V tom případě by musel mít výstup

<div id="minuty">10min</div> <div id="sekundy">20s</div>

Což mi přijde jako celkem overhead a prasárna. Ideální přenos by byl ve formátu JSON, ale znova - řešíme problém který je špatně.
Tazatel se nemá dotazovat na server každou sekundu, naopak by si měl poslat cílový čas do JS a pak odpočet dělat čistě v JS.

Zpět do poradny Odpovědět na původní otázku Nahoru