PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [HTML/CSS/JS] Variable automatisch alle X sek. laden lassen



Sam2004
30.10.2013, 12:51
Hallo,

nach längerer bastelpause, hab ich mit was neuen angefangen. Ich würde gern aus performance Gründen
und aus Service seite aus, bestimmte (mehrere) variabeln alle X sek. automatisch reloaden lassen.

Das Ganze sollte wohl am besten mit Ajax geschehen, da Javascript in dem Fall nicht viel bringt bzw. ideal ist.

Ich hab mich die letzten Tage intensiv belesen, getüffelt und probiert und nichts klappt.
Leider weiß ich bis heute nicht, ob es möglich ist, ein Bereich komplett aktualisieren zu lassen,
oder ob die variabeln im einzelnen einbezogen werden müssen.

Ich suche hier eine Lösung und kein Verweis auf Ajax Links, Tutorials oder sonstiges. Das bringt mir nichts!
Wenn keiner möchte, kann ich das das akzeptieren...ich brauch aber keine XX Links, um mich dann etliche
Stunden mit auseinander zu setzen und dann dennoch nicht weiter zu kommen.

Danke.

Masterphil
30.10.2013, 21:24
Mir fällt da noch der Meta Reload ein, eine weitere Möglichkeit.

MfG

Sam2004
31.10.2013, 07:20
Moin Masterphil,

danke für die Idee, aber ich hab das versäumt zu erwähnen, dass weder Meta Refresh noch

<script language="JavaScript"> window.setTimeout("location.reload()",5000); </script>

in betracht kommen.

Da ich das nur für ein paar Variabeln brauche und der Refresh nicht gesehen werden sollen (ist möglich),
brauch ich eine Lösung auf Ajax/jquery basis.

Vielleicht hat ja noch jemand ein gutes Tuto im petto.

SebbyPHM
04.11.2013, 17:22
Es gibt bspw. ein Timeout-Plugin für das jQuery-Framework.

NeoGriever
05.11.2013, 08:44
Das Ganze sollte wohl am besten mit Ajax geschehen, da Javascript in dem Fall nicht viel bringt bzw. ideal ist.
Widerspruch. Ajax = Javascript.

Es ist eigentlich problemlos möglich.

1. Erstelle eine PHP-Datei, welche die entsprechenden Variablen zurückgibt. DABEI idealerweise so vorgehen:


<?php
$daten = array();
$daten["wert1"] = "Inhalt 1";
$daten["wert2"] = "Inhalt 2";
echo json_encode($daten);
?>

2. Im HTML-Bereich umfasse jeden Wert, den du aktuell halten willst mit einem span und gib diesem jeweils eine eindeutige ID. Ein Beispiel:


<span id="auto_update_kontostand">0,00 Lose</span>

Dabei kein Punkt, kein KOmma und kein Leerzeichen oder spezielle Sonderzeichen (!, ", /, \, usw.) nutzen.

3. Im Javascript-Teil machst du (mit jquery) folgendes:


setInterval(function() { // Beginn SetIntervall mit Funktions-Anfangs-Struktur.

$.ajax({
url : "pfad/zur/php-datei.php", // URL, welche per Ajax geladen werden soll. Siehe Punkt 1.
type : "GET", // GET-Methode. Ganz einfach.
success : function(r) { // Bei Erfolg > diese Funktion durchlaufen lassen.
$("#auto_update_kontostand").html(r["wert1"]); // Kurz und Knapp. Im Punkt 2 das Element mit der ID "auto_update_kontostand" anteuern und mit dem wert aus Punkt 1 namens "wert1" füllen.
}
});

},30000); // Ende SetInterval mit Tausendstel-Sekunden-Intervall-Angabe. Hier 30 Sekunden

Das dürfte eig. genau das sein, was du brauchst.

Das kannst du beliebig ausbauen und herumbasteln. wichtig: vergiss die jquery-libary nicht einzubinden XD

Sam2004
08.11.2013, 11:20
Danke für dein Tuto, aber bekomm ich auch nicht hin. Lass es auch bleiben. Man muss nicht alles können^^

LG