Frage zu: Ajax - req.responseText

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Frage zu: Ajax - req.responseText

    Hallo,

    ich habe erst vor kurzem mit Ajax angefangen und habe eine Frage.

    In der aufrufenden JS-Funktion habe ich die folgenden zeilen...........

    Brainfuck-Quellcode

    1. ..........
    2. req.onreadystatechange = function() {
    3. if ((req.readyState == 4) && (req.status == 200)) {
    4. var feedback = req.responseText;
    5. ..........



    aufgerufen wird ein PHP-Skript was eine GET-Variable bekommt und eine Datenbank abfrage macht.
    Meine Frage bezieht sich auf das: req.responseText

    Gibt es immer nur TEXT als Rückgabe?
    Das finde ich ziemlich umständlich.

    Beispiel: Mit einer SQL Abfrage gebe ich mir alle AutoNamen einer Automarke aus
    Das ist ein Array. wenn ich aber... "echo $AutoNamenArray mache... bekomme ich beim req.responseText nur einen String der "Array" heißt.
    Zur zeit löse ich das problem indem ich statt eines Arrays mir einen String zusammenbaue "Autoname1###Autoname2###Autoname3###........" dann den String mit echo $AutonamenString zurückgeben...
    und dann nachdem ich den String mit req.responseText bekomme . wieder in ein Array splitte.

    Es muss doch auch möglich sein direkt ein Array als request zurückzubekommen oder???
  • Der Schlüssel zu deinem Problem heißt JSON (oder allgm. Serialisierung). Falls dir mindestens PHP in der version 5.2.0 zur Verfügung steht, kannst du die integrierten Funktionalitäten für JSON benutzen, sonst musst du eine externe Bibliothek verwenden.

    Quellcode

    1. echo json_encode(array(1, 2, 3, 4, 5, 6, 7, 8, 9));


    Quellcode

    1. var feedback = eval(req.responseText);


    Wobei das direkte Ausführen ohne speziellen JSON-Parser etwas gefährlich ist ;)
    MfG dynambee

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von dynambee ()