Daten aus MySQL via JSON übertragen

bekomme es mit Ajax leider nicht hin. Habe die Datei so abgeändert wie du es geschrieben hast aber leider funktioniert es nicht.
 
Du bekommst das JSON jetzt als Text zurück und musst es erst ausführen, um an die Daten zu kommen.

Javascript:
eval('var daten = ' + xhr.responseText + ';');

//Oder in modernen Browsern
var daten = JSON.parse( xhr.responseText );
 
Schau dir doch einfach meinen Code an.
Nachdem data (kannst du auch 'daten' nennen) gesetzt wurde, kannst du damit machen, was du willst.

Oder du kannst auch CPoly's Code nehmen, allerdings musst du den in mein IF-Konstrukt in der Callback-Funktion 'onreadystatechange' einsetzen. Also da wo mein Kommentar ist, siehe oben.

Habe die Datei so abgeändert wie du es geschrieben hast aber leider funktioniert es nicht.
Für die Zukunft bitte: Code zeigen, Fehler erklären und ggf. Fehlermeldungen posten. Danke ;)
 
Hallo,
Habe es leider noch nicht hinbekommen. Hier mein Code:

Html Datei:
Code:
<script type="text/javascript">

var req = new XMLHttpRequest();
req.onreadystatechange = function()
{
  if (req.readyState==4 && req.status==200)
  {
     var data = JSON.parse(req.responseText);
    document.getElementById('data').innerHTML = data;

  }
}
req.open("GET", "http://meineDomaine.de/auslesen.php");
req.send();
}	


	</script>

<div id=data></div>

auslesen.php:
Code:
    mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
    

  $sql = "SELECT * FROM Datenbestand";
        $adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
            $output = array();
while ( $row = mysql_fetch_assoc($adressen_query) )
{
  $output[] = $row;
}    
			print(json_encode($output));
			
echo json_encode($output); 	 
mysql_close();

    echo "Anzahl der Datensaetze: $daten";

Leider kommt keine Fehlermeldung. Es wird einfach nichts angezeigt. Was mache ich noch falsch?
 
Du gibst das JSON zwei mal aus (print und echo), woduch es ungültig wird und anschließend gibst du noch "Anzahl der Datensaetze: $daten";" aus, wodurch das JSON doppelt ungültig wird. Ich bin mir sicher, dass JSON.parse eine Fehlermeldung ausgibt.

Lass dir das mal ausgeben:

Javascript:
if (req.readyState==4 && req.status==200) {
    alert(req.responseText);
}

Dann siehst du, dass das nicht gehen kann.
 
Leider gibt er mir keine Fehlermeldung aus. Habe jetzt auch echo json_encode($output); und echo "Anzahl der Datensaetze: $daten"; enfernt. Aber leider zeigt er mir immernoch nichts an.
 
Was gibt denn das von mir vorgeschlagene "alert(req.responseText);" aus? Kommt dein Code an der Stelle überhaupt an?
 
Zurück