You are not logged in.

  • Login

1

Sunday, June 29th 2008, 7:35pm

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...........

Source code

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



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???

2

Sunday, June 29th 2008, 8:21pm

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.

PHP Quellcode

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


JavaScript Code

1
var feedback = eval(req.responseText);


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

This post has been edited 1 times, last edit by "dynambee" (Jun 29th 2008, 8:28pm)


3

Sunday, June 29th 2008, 10:29pm

vielen dank für die schnelle antwort.

funktioniert wunderbar :-)

4

Monday, June 30th 2008, 12:13pm

Gerne doch!

Similar threads

Social bookmarks