AJAX/XML liefert nur noch 'null' zurück

hallo zusammen,

vorweg: ich weiß nicht, ob ich hier richtig bin, aber ich konnte das Problem nicht wirklich einordnen.

Ich habe einen ganz einfachen 1:1-Chat in PHP/MySQL und AJAX/XML programmiert. Er läuft/lief auf einem eigenen Rootserver, eingebunden in ein größeres Projekt.
Bis vor 2 Wochen ist alles fehlerfrei gelaufen (also auch keine Konsolenwarnungen oä). Seitdem (ohne eine bewusste Änderung meinerseits) geht nichts mehr. Javascript gibt mir eine Fehlermeldung bei

for(i=0;i

Hallo,

(x sollte die in XML aufbereiteten Daten aus der DB enthalten)

Tuts aber wohl nicht.

Also schicke den XMLHttpRequest mal per hand los, und schau was zurückkommt.
Oder benutze einen Paketsniffer um die Antwort des Servers zu sehen.
Dann weisst du schon mal, ob der Fehler auf der Client- oder Serverseite ist.

Grüße,
Moritz

Hallo,

Also schicke den XMLHttpRequest mal per hand los, und schau
was zurückkommt.

Habe ich gemacht und folgendes festgestellt:

XML-Verarbeitungsfehler: XML-Deklaration nicht am Beginn von externer Entität
Adresse: http://www.-----.de/chatten.php?chat_id=117&datum_le…
Zeile Nr. 1, Spalte 17:

<?xml version="1.0"?>

----------------^

In der entsprechenden Datei ist aber kein Fehler (ich habe sie in den Testordner verschoben und da läuft derselbe Aufruf fehlerfrei, wenn ich die Testdatenbank verwende. Verwende ich die „echte“ Datenbank erscheint dieser Fehler auch dort.)
Bin ich zu blöd, um zu sehen, was da nicht stimmt? Die Tabellen sind -soweit ich das sehen kann identisch - ich hatte die eine (Testversion) aus einer Kopie der anderen erstellt.
Hast Du - oder sonst wer - noch einen Hinweis/eine idee für mich?

Danke und einen schönen Abend

Kathrin

Hallo,

Habe ich gemacht und folgendes festgestellt:
XML-Verarbeitungsfehler: XML-Deklaration nicht am Beginn von
externer Entität
Adresse:
http://www.-----.de/chatten.php?chat_id=117&datum_le…
Zeile Nr. 1, Spalte 17:

<?xml version="1.0"?>

----------------^

Da reicht es wohl, wenn in Verbindung mit PHP
irgendwo *1 Leerzeichen* eingefügt wird - wo
es nicht hingehört.

vgl. auch: http://www.typo3forum.net/forum/typo3-4-x-fragen-pro…

Warum überhaupt XML? Hat das einen tieferen Sinn?
Ich schicke immer blanke (JSON-)Javaskript-Arrays
raus, das klappt wunderbar, auch wenn mal irgendwo
ein Leerzeichen zuviel ist :wink:

 ...
 if(req.status == 200) {
 delete data\_array
 // === JSON EVAL GOES HERE ===
 data\_array = eval('[' + req.responseText + ']')
 ...
 }
 ...

Im Handler (PHP oder Perl) werden einfach
Array-Elemente als Text rausgeschrieben:

 ...
 print "content-type: text/plain\n\n");
 ... # start loop
 print("\[$data[i][0],$data[i][1],$data[i][2],\"$data[i][3]\"\],");
 ... # more lines to follow until
 print("\[$data[N][0],$data[N][1],$data[N][2],\"$data[N][3]\"\]");

Grüße

CMБ

Ganz lieben Dank,

ich habe mal alles überprüft und es lag wohl an einer der includeten Dateien. Jetzt läuft es *freu*

Warum überhaupt XML? Hat das einen tieferen Sinn?
Ich schicke immer blanke (JSON-)Javaskript-Arrays
raus, das klappt wunderbar, auch wenn mal irgendwo
ein Leerzeichen zuviel ist :wink:


if(req.status == 200) {
delete data_array
// === JSON EVAL GOES HERE ===
data_array = eval(’[’ + req.responseText + ‚]‘)

}

Im Handler (PHP oder Perl) werden einfach
Array-Elemente als Text rausgeschrieben:


print „content-type: text/plain\n\n“);
… # start loop

print("[$data[i][0],$data[i][1],$data[i][2],"$data[i][3]"],");
… # more lines to follow until

print("[$data[N][0],$data[N][1],$data[N][2],"$data[N][3]"]");

Das werde ich mir in Ruhe ansehen. Es war mein erster AJAX-Versuch und diese Methode (also XML-Rückgaben) habe ich in meinem Buch und auch im Netz gefunden.
Aber über (vereinfachende) Verbesserungen informiere ich mich immer gerne.

danke nochmals und viele Grüße

Kathrin