test.php auf geänderten inhalt testen.

phpogo

Grünschnabel
Hallo Leute,

bin ein Ajax Neuling und habe jetzt die Datei test.php, da ist zum Beispiel die Uhrzeit drinn:

PHP:
<?=date("h");?>

wie kann ich jetzt mit Ajax testen, ob sich der Inhalt der Datei test.php geändert hat? Wenn ja, soll der Inhalt von test.php ausgegewben werden.
 
Hi,

das Thema Ajax ist sehr Komplex eine pauschale Antwort für deine Frage gibt es nicht.

Optimal wäre:
Deine test.php gibt das Datum in einem XML-Format aus.

Der Ablauf wäre wie folgt:
- Ajax stellt eine Anfrage (request) an die Datei test.php.
- Ajax erhält als Antwort (response) ein XML.
- Ajax setzt nun einen XML-Parser ein und wandelt das XML in ein DOM Objekt um.

Nun kannst Du mit JavaScript die erhaltenen Werte in dein HTML Dokument unterbringen.
Zu den einzelnen Schritten gibt es jede menge Stuff im Inet. Auch fertige kostenlose Klassen.

Gruß tyg3r
 
hm, ich bin ja gerade damit beschäftigt, ne ssh konsole für php zu coden. wenn ich einen befehl eingebe, sende ich den befehl an die foo.php, die verarbeitet das kommando und gibt es zurück.

alte ausgabe+neue.

und immer so weiter. deswegen sollte ajax testen ob der inhalt sich geändert hat. wenn ja, soll er den neuen inhalt ausgeben.

könnt ihr mir helfen? könnte ich natürlich auch in xml packen.

//EDIT:

ode rich sende das shell-comamndo mit GET an die lala.php und gucke dann, ob sich etwas neues ergeben hat.
 
Zuletzt bearbeitet:
Naja, Ajax ist ja ein Verfahren mit dem Browser arbeiten.
Wie die Daten in deinem File zustande kommen (aus DB, über Konsole geändert, etc.) ist sekundär.

Deine eigentliche Frage ist ja wie Ajax arbeitet (oder hab ich da was falsch verstanden?).
Und dazu hab ich ja schon einen ungefähren Ablauf geschildert.
 
Naja, kommt darauf an was Du willst ;)
AJAX (asynchrone javascript and xml) ermöglicht es Dir, dass dein Browser im "Hintergrund" mit dem Server Daten austauscht. Ohne dabei die komplette Seite neu zu laden (GET, POST), denn das übernimmt nun AJAX.

Wenn das dein Ziel ist, dann ist der Link schonmal ganz interessant ;)
 
kannst du mir helfen?

ich hab zum bsp index.php:
<form name="foobar" action="./execute.php" method="post">
<input type="text" name="command">
<input type="submit" value="go!">
</form>

wenn ich "go!" drücke, soll das feld mit der ausgabe neu geladen werden.

-> was schon da ist + den neuen inhalt des outputs des kommandos.

geht das nicht irgenwie?

Code:
<script type="text/javascript">
function leseDatei1()
{
var req = (window.XMLHttpRequest)
?
new XMLHttpRequest()
:
((window.ActiveXObject)
?
new ActiveXObject("Microsoft.XMLHTTP")
:
false
);

req.open("GET","lala.php?insane="+Math.round(Math.random()*100000+1),true);
req.onreadystatechange = function()
{
if (req.readyState==4)
{
if (req.status == 200)
{
var d = document.getElementById("displaypi1");
d.innerHTML = req.responseText;

}
}
}
req.send(null);
return true;
}
interval = window.setInterval("leseDatei1()",3000); //3000 Millisekunden
</script>



<div id="displaypi1"></div>

jetzt hab ich nen dummy gesetzt, jetzt hab ich das, was ich wollte^^
 
Wie gesagt,

das Thema Ajax ist komplex und eine ausführliche Erklärung dazu sprengt den Ramen.
Auf meiner Seite verwende ich z.B. Ajax im Kalender:
http://www.feg-rebland.de/ -> Datenaustausch ohne die Seite neu zu laden
Kalender Script -> greift auf ajax.js zu und schreibt den kalender neu
ajax.js -> Erstellt einen Socket und läd das gewünschte File
ajax.js -> Zur Verarbeitung des XML in ein DOM Objekt

Du darfst die Files zu lernzwecken gerne verwenden.
Und - ausprobieren und Dokumentationen zum Thema lesen ...

Gruß tyg3r
 

Neue Beiträge

Zurück