XMLHttpRequest.open will nicht....

maga147

Erfahrenes Mitglied
Hallo,

ich hab mir folgendes Tut mal angeschaut: http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-271_290_312.html

sogesehen alles super, aber ich hab ein großes Problem. Da gibts eine .php datei, die die Daten ausliest. Dieses wird mit Java an dieser Stelle angesprochen:

Code:
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);
		searchReq.open("GET", 'searchSuggest.php?search=' + str, true);    <--- Hier
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}

solang die Datei jetzt noch im gleichen Verzeichnis liegt, funktioniert noch alles, aber für mich ist es wichtig, dass ich das ganze von einem anderen Server hole (also per URL anspreche). sobald ich eine Domain davorschalte (z.b. http://www.xyz.de/search=' + str ) funktioniert das ganze nicht mehr obwohl die Datei auf der Domain http://www.xyz.de liegt und funktioniert.

Kann mir irgendwer helfen, woran das ganze liegen könnte?
 
Hi,

[...]aber für mich ist es wichtig, dass ich das ganze von einem anderen Server hole[...]

Das verletzt die Same Origin Policy. Du könntest ein Script auf Deinem Server aufrufen, das den gewünschten Content von dem anderen Server abruft und an den Client durchreicht. Aber bitte sicher stellen, dass Du die Inhalte von dem fremden Server auch in dieser Weise verwenden darfst. ;)

LG
 
hmm... Aber stellt die http Anfrage nicht das gleiche dar wie jeder "normale" browser auch?

ich hab mal so ein Gadget von Windows Vista geöffnet und mir da den Code angeschaut. Die machen das aber so. Da gibts z.b. ein:

Code:
  xmlHttpTheme.open("GET","http://www.n-tv.de/ntvplus/meta/configGadget.1.0.0.xml",false);

Das ganze ist ein Nachrichten Feed von N-TV.....
 
Hi,

die Same Origin Policy ist ja in den Browsern implementiert, dem Server ist das egal. Wie das bei Windows Vista Gadgets ist, weiss ich nicht. Habe Vista nur kurz gesehen und mir schnell eine Linux-Partition installiert. ;)

LG
 
Hi,

achso... Danke für deine Antwort.

Dann wird vista das teil einfach umgehen und schon klappt's .... Da muss ich mich dann wohl nochmal genau informieren.

Danke für die Infos!
 
Zurück