Regina Schlauklug: Rückgabe einer Variablen an die ajax Funktion aus der php Datei

Beitrag lesen

Der Klassiker ist:

Auf dem Server:

Du startest die MySQL-Abfrage wie gewohnt und erzeugst einen Array ($data). Den wandelst Du mit json_encode($data) um und gibst ihn aus:

header('Content-Type:text/plain, charset=utf-8');
echo json_encode($data, JSON_UNESCAPED_UNICODE);

Weitere Ausgaben (außer ggf. header) dürfen nicht stattfinden, sonst schlägt das nachfolgende fehl:

Clientseitig:

   // "xml"Http-Request-Zeug
   if (xmlHttp.readyState == 4) {
       var data = JSON.parse(xmlHttp.responseText);

und schon hast Du an der Stelle ein Javascript-Objekt welches so beschaffen ist wie Dein Array im PHP. Du kannst auch ein

alert(xmlHttp.responseText);

ausführen um die Antwort anzusehen. Hast Du in PHP etwas wie:

$data['key']='value';

dann bekommst Du in JS mit obigem:

alert(data['key'])

das Ergebnis: value

Der andere Klassiker ist, Du erzeugst und sendest gleich gültiges HTML oder Text und baust das ein.

<?php
header('Content-Type:text/plain, charset=utf-8');
echo 'Abgerufen/Gesendet um: ' . date('H:i:s');

Clientseitig:

   // "xml"Http-Request-Zeug
   if (xmlHttp.readyState == 4) {
       document.getElementById('ausgabe').innerHTML = xmlHttp.responseText;