Hier habe ich ein einfaches PHP-Skript, das einige Werte aus einer Datenbank im JSON-Format anzeigt.
$source = $_GET['source'];
$query = mysql_query("SELECT * FROM images WHERE big_thumb = '" . $source . "'");
$results = array();
while($row = mysql_fetch_array($query))
{
$results[] = array(
'title' => $row['title'],
'date' => $row['upload_date'],
'time' => $row['upload_time']
);
}
$json = json_encode($results);
echo $json;
Dies zeigt feines, heres ein Ausgabebeispiel:
[{"title":"Torus","date":"2012-04-04","time":"23:06:14"}]
Dann, wenn ein Bild dieses jquery geklickt wird aufgerufen:
var image_src = $(this).attr("alt"); // <= This works fine
$.ajax({
url: 'inc/get_image_details.php',
data: {source : image_src},
dataType: "json",
success: function(data)
{
title = data.title;
alert(title);
date = data.date;
alert(date);
time = data.time;
alert(time);
}
});
jedoch der (Titel, Datum & Zeit) Variablen werden in der Alarmbox als 'undefiniert' angezeigt. Ich habe mehrere Möglichkeiten versucht, den Ajax-Aufruf zu implementieren und das gleiche passiert jedes Mal. Es ist das erste Mal, dass ich es ausprobiert habe, aber ich kann es nicht fassen.
Haben Sie einen richtigen Header für Ihr PHP-Skript verwendet? 'header ('Content-Type: application/json');' – brezanac