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;