Hallo Community,
habe wieder mal eine Frage. Zu AJAX. Und zwar möchte ich gerne per AJAX-Request (mit ein, zwei übergebenen Parametern) eine Datenbankabfrage absetzen, welche mehrere Daten zurückgeben wird, darunter auch Arrays.
Momentan benutze ich AJAX in etwa so wie hier (Das XMLHttpRequest - Objekt - Javascript - Ajax - Tutorials, Tipps und Tricks für Webmaster auf Webmasterpro.de), also sehr simpel:
Ich nehme also den xmlHttpObject.responseText in Empfang, der zuvor in der php-Datei per echo zusammengestellt wurde. Ein Array wäre ja auch problemlos in einen String zu packen und könnte mit split() in Javascript wieder als Array geschrieben werden, aber ich bekomme auf jeden Fall mehr, als ein Array zurück und verliere dann auf diesem Wege total den Überblick.
Zur Frage: Ganz allgemein, wie arbeitet ihr mit AJAX wenn ihr einen Fall habt, in dem ihr viele Daten zurückgeben möchtet? Könnt ihr mir zu etwas raten hinsichtlich dieser Angelegenheit?
Ich habe mich im Vorfeld auch schon mal schlau gemacht, wofür JSON gebraucht wird und hier (http://openbook.galileocomputing.de/javascript_ajax/18_ajax_002.htm#7f0f10cc5ed095e967ec49c8d3150134) beispielsweise auch wieder gerade von der Verwendung gelesen.
Trotzdem stößt man doch bei mehreren Arrays dann doch wieder an seine Grenzen oder?
________________
Folgenden Bereich müsst ihr nicht lesen, ich möchte Euch kurz etwas in die Hand geben, damit ihr Euch vorstellen könnt, wie das Umfeld aussieht. Stellt Euch vor, wir haben es mit einer Musikbibliothek zu tun. Titel, Alben und Interpreten können dieser hinzugefügt und angeschaut werden. Es soll aber auch die Möglichkeit bestehen diese zu bearbeiten oder zu löschen. Das möchte ich bewerkstelligen:
Im grauen Umfeld haben wir einen kleinen Auswahlbereich nach dem 'sortiert' werden kann. Gefiltert werden kann nach Interpreten, Alben und Titeln und zwar jeweils über die Dropdown-Box oder Eingabe eines Begriffes im Suchfeld, welche durch den zugehörigen Button abgeschicht werden kann.
Der dunkelblaue und hellblaue Abschnitt sollen später Informationen anzeigen.
Gewünschte Funktionsweise an einem Beispiel (Interpret):
- Der Button neben dem Such-feld des Interpreten wird betätigt (oder in der Dropdownbox ein Interpret ausgewählt (onchange-Event))
- Darauf wird per AJAX-Request eine Abfrage zum Interpreten gemacht, die dessen Namen/ ID weitergibt
- Die PHP-Datei selektiert dessen Alben und Titel. Ferner auch Informationen zum Interpret selber
- Mit den Informationen des Requests sollen nun die Dropdown-Boxen 'Album' und 'Titel' befüllt werden, sowie im blauen Div-Bereich die Interpreteninformationen angezeigt werden und (falls möglich) die Quelle für den Autocomplete der Alben und Titel Suchfelder.
________________
Ich bedanke mich im Voraus für Eure Zeit und Antworten!
Beste Grüße,
Gokar
habe wieder mal eine Frage. Zu AJAX. Und zwar möchte ich gerne per AJAX-Request (mit ein, zwei übergebenen Parametern) eine Datenbankabfrage absetzen, welche mehrere Daten zurückgeben wird, darunter auch Arrays.
Momentan benutze ich AJAX in etwa so wie hier (Das XMLHttpRequest - Objekt - Javascript - Ajax - Tutorials, Tipps und Tricks für Webmaster auf Webmasterpro.de), also sehr simpel:
HTML:
<html>
<head>
<title>Nur ein Test</title>
<script type="text/javascript">
// Objekt erzeugen
// hier ohne Fallunterscheidung, da für das Beispiel einfacher
var xmlHttpObject = new XMLHttpRequest();
// Funktion, die bei Statusänderungen reagiert
function handleStateChange()
{
// Derzeitigen Status zurückgeben
alert("xmlHttpObject.readyState = " + xmlHttpObject.readyState + (xmlHttpObject.readyState >= 3 ? " HTTP-Status = " + xmlHttpObject.status : ''));
}
// Wenn Dokument geladen ausführen
window.onload = function()
{
// Anfrage vorbereiten
xmlHttpObject.open('GET', '/');
// Handler hinterlegen
xmlHttpObject.onreadystatechange = handleStateChange;
// Anfrage abschicken
xmlHttpObject.send(null);
}
</script>
</head>
<body>
<p>Es sollte sich etwas tun</p>
</body>
</html>
Ich nehme also den xmlHttpObject.responseText in Empfang, der zuvor in der php-Datei per echo zusammengestellt wurde. Ein Array wäre ja auch problemlos in einen String zu packen und könnte mit split() in Javascript wieder als Array geschrieben werden, aber ich bekomme auf jeden Fall mehr, als ein Array zurück und verliere dann auf diesem Wege total den Überblick.
Zur Frage: Ganz allgemein, wie arbeitet ihr mit AJAX wenn ihr einen Fall habt, in dem ihr viele Daten zurückgeben möchtet? Könnt ihr mir zu etwas raten hinsichtlich dieser Angelegenheit?
Ich habe mich im Vorfeld auch schon mal schlau gemacht, wofür JSON gebraucht wird und hier (http://openbook.galileocomputing.de/javascript_ajax/18_ajax_002.htm#7f0f10cc5ed095e967ec49c8d3150134) beispielsweise auch wieder gerade von der Verwendung gelesen.
Trotzdem stößt man doch bei mehreren Arrays dann doch wieder an seine Grenzen oder?
________________
Folgenden Bereich müsst ihr nicht lesen, ich möchte Euch kurz etwas in die Hand geben, damit ihr Euch vorstellen könnt, wie das Umfeld aussieht. Stellt Euch vor, wir haben es mit einer Musikbibliothek zu tun. Titel, Alben und Interpreten können dieser hinzugefügt und angeschaut werden. Es soll aber auch die Möglichkeit bestehen diese zu bearbeiten oder zu löschen. Das möchte ich bewerkstelligen:
Im grauen Umfeld haben wir einen kleinen Auswahlbereich nach dem 'sortiert' werden kann. Gefiltert werden kann nach Interpreten, Alben und Titeln und zwar jeweils über die Dropdown-Box oder Eingabe eines Begriffes im Suchfeld, welche durch den zugehörigen Button abgeschicht werden kann.
Der dunkelblaue und hellblaue Abschnitt sollen später Informationen anzeigen.
Gewünschte Funktionsweise an einem Beispiel (Interpret):
- Der Button neben dem Such-feld des Interpreten wird betätigt (oder in der Dropdownbox ein Interpret ausgewählt (onchange-Event))
- Darauf wird per AJAX-Request eine Abfrage zum Interpreten gemacht, die dessen Namen/ ID weitergibt
- Die PHP-Datei selektiert dessen Alben und Titel. Ferner auch Informationen zum Interpret selber
- Mit den Informationen des Requests sollen nun die Dropdown-Boxen 'Album' und 'Titel' befüllt werden, sowie im blauen Div-Bereich die Interpreteninformationen angezeigt werden und (falls möglich) die Quelle für den Autocomplete der Alben und Titel Suchfelder.
________________
Ich bedanke mich im Voraus für Eure Zeit und Antworten!
Beste Grüße,
Gokar
Zuletzt bearbeitet: