php-generierte xml-Daten werden vom IE nicht interpretiert
Hi all!
Habe ein Formular geschrieben, bei dem durch onChange() eines select-Feldes die Optionen eines weiteren select-Feldes generiert werden sollen. Die Daten hierfür werden aus einer MySQL-Tabelle gelesen. Mit Hilfe von PHP werden XML-Daten generiert, die dann per AJAX an den Browser übergeben werden. Die ganze Sache funzt im FF, aber der IE macht nicht mit. Das Problem entsteht an folgender Stelle: übergebe ich dem IE eine fertige xml-Datei, so funktioniert er, wie ich es von ihm erwarte (ich nutze für den HttpRequest die XHConn library) myConn.connect("getPlaces.xml", "GET", "IDDistrict="+IDDistrict, fnWhenDone); übergebe ich ihm aber von PHP generierte xml-Daten, so spielt er nicht mit myConn.connect("getPlaces.php", "GET", "IDDistrict="+IDDistrict, fnWhenDone); in der getPlaces.php habe ich natürlich den header auf Content-type: text/xml; gesetzt <?PHP header('Content-type: text/xml; charset=utf-8'); ... ?> Hat jemand eine Idee, woran das liegen könnte? Danke im Voraus! Gruß esviko |
kannst du evtl mal den richtigen source code posten...da kann man meist mehr mit anfangen!!
|
Die Idee:
im 1. select-Feld wähle ich eine Kreistadt. Der Inhalt des 2. select-Feldes wird durch die Wahl des 1. Feldes bestimmt. Hier kommen die zu der Kreisstadt gehörenden Orte rein. Den Job soll AJAX (XHConn library) mit Unterstützung von PHP und MySQL erledigen. Code:
<!-- 1. select-Feld - enthält die Kreisstädte --> getPlaces.php sieht in etwa so aus: PHP-Code:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> Code:
function getPlaces(IDDistrict) { Wenn ich die XML-Daten nicht von der getPlaces.php generieren lasse, sondern der getPlaces() eine fertige XML-Datei übergebe Code:
myConn.connect("getPlaces.xml", "GET", "IDDistrict="+IDDistrict, fnWhenDone); Meine Vermutung ist, dass der IE Dateien, die keine xml-Endung haben, schlicht und ergreifend nicht als xml-Dateien behandeln will... selbst wenn der Webserver ihm über den Header mitteilt, dass es sich um XML-Daten handelt. Habe auch versucht, die getPlaces.php (in der die XML-Daten generiert werden) in getPlaces.xml umzubenennen, und dann dem Server über .htaccess mitzuteilen, dass er doch bitte xml-Dateien wie php-Dateien behandeln soll. Aber da macht anscheinend mein Provider nicht mit... |
versuch doch mal heruaszufinden, welche header er bei der *.xml datei mitsendet!
|
verdammt, du hast recht... hier scheint das Problem zu liegen
hier der Header Code:
GET /erziehungswissenschaft/bsc/admin/content/ajax/getPlaces.php?IDDistrict=20 HTTP/1.1 |
Hi Kampfgnom!
Habe die Lösung zu meinem Problem gefunden... Jetzt würde ich die Lösung noch gern verstehen! Meine getPlaces.php sah eigentlich so aus: PHP-Code:
in der 3. Zeile include ich eine datei, die überprüfen soll, ob der User eingelogt ist Nachdem ich die 2. und 3. Zeile gelöscht habe, steht im Header, den der Webserver an den Client sendet Code:
Content-Type: text/xml; charset=utf-8 Als die 2. und 3. Zeile noch da waren meldete der Server dem Client immer Code:
Content-Type: text/html; charset=utf-8 Gruß esviko |
Thanx fordfan!
After removing the session_start() the IE is working fine :D |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:43 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023