Ajax-Response wird nur in Opera übergeben

heinzi99

Grünschnabel
Hi zusammen,
folgendes Szenario:
Ich habe eine Ajax-Anfrage, die ich auf einen anderen Server stelle.
Dies mache ich über eine php-Datei, die die Abnfrage tunnelt.
Der Request wird auch richtig bearbeitet, allerdings wird er auch nur in Opera dargestellt.
FF und IE beiben in meiner Warteschleife...

ich habe im mOment überhaupt keine Ahnung woran es liegenm könnte.

Hier mal die (wahrscheinlich) entscheidenden Funktionen und der Response:
HTML:
function WhatsOn_onAjaxComplete(request) {
	if (request) {
		WhatsOn_genTable(request);
	}
}

function WhatsOn_genTable(request) {
	if (request.responseXML) {

		var firstChild = request.responseXML.firstChild;

		while (firstChild.nodeType != 1) {
			firstChild = firstChild.nextSibling;
		}

		var id = firstChild.getAttribute('id');
		var text = request.responseText;

		var target = document.getElementById(id);
			target.innerHTML = text;   
			 
	}
}
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<table border="0" id="35" class="blabla">
<tr>
<th>blalal</th>
<th class="blalal">blalal</th>
<th>blalal</th>
</tr>
<tr>
<td>blalal</td>
<td>blalal</td>
<td>blalal</td>
</tr>
<tr>
<td>blalal</td>
<td>blalal</td>
<td>blalal</td>
</tr>
<tr>
<td>blalal</td>
<td>blalal</td>
<td>blalal</td>
</tr>
<tr>
<td>blalal</td>
<td>blalal</td>
<td>blalal</td>
</tr>
<tr>
<td>blalal</td>
<td>blalal</td>
<td>blalal</td>
</tr>
<tr>
<td>blalal</td>
<td>blalal</td>
<td>blalal</td>
</tr>
</table>

vielen dank im Voraus für jegliche anregung,
heinzi
 
Diese PHP-Datei, sendest du dort eine Header, der signalisiert, dass dort XML als Antwort kommt?

Wenn nicht...sende ihn :)
 
in der php-datei kopiere ich eine http-Adresse mit allen möglichen Parametern (die ursprüngliche Requestadresse) und gebe diese dann ausgelesen wieder zurück.
muß ich da denn einen Header mit senden?

mein Script brauch doch "nur" den Response um den in das div "id" einzulesen, oder?
und dieser Response ist ja auch da...
oder sehe ich da was falsch?


meine Header sehen bei Firebug folgendermassen aus:

Antwort-Header
Date Wed, 02 Jul 2008 09:06:26 GMT
Server Apache
Vary Accept-Encoding,User-Agent
Content-Type text/html
X-Cache MISS from ....de
Connection close

Anfrage-Header
Host c....de
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9) Gecko/2008052906 Firefox/3.0
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
X-Requested-With XMLHttpRequest
X-Prototype-Version 1.4.0
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Referer http://...de/
Content-Length 86
Cookie em_lf_i...16636e484539

danke schon einmal.
heinzi
 
Du brauchst eine XML-Ressource, das was da ankommt ist aber HTML(Content-Type text/html)

Schreibe mal folgendes ganz an den Anfang des PHP-Skriptes:
PHP:
header("Content-Type:text/xml");
 
ja supi...
hat get!

Hatte mich durch das gelingen bei opera täuschen lassen.
Hätte nicht gedacht, dass das mit dem Header zusammenhängt...

Vielen Dank!!
 
Zuletzt bearbeitet:
hi nochmal,
bevor ich das Topic dicht mache;-) :

Ich händel das ganze ja bisher so:

Über ein php-Script tunnel ich eine Ajax-Anfrage auf einen anderen Server und gebe dann die Antwort wieder zurück.
Dieses skript kopiert die oiriginalausgabe und gibt sie dann entweder als json-Array oder in xml aus.
Alles t, alles toll.

Nun überlege ich ob ich die Vorgehensweise nicht optimieren soll/kann?
z.B. könnte ich ja die einfach die benötigte http-Adresse inkl. Parameter
an mein php-Skrippt hängen und dann auslesen...

nun meine Frage:
Spricht aus Deiner Sicht irgendetwas gegen das bisherige Verfahren?
Gibt es Vor-oder nachteile bei anderen Vorgehensweisen?

Danke nochmal.

wie gesagt: es t alles, ich weiss bloß nicht ob es besser geht...
 

Neue Beiträge

Zurück